zoukankan      html  css  js  c++  java
  • 二叉树的最近公共祖先

     1 #include <stdio.h>
     2 
     3 typedef int ElementType;
     4 
     5 struct BinarySearchTreeNode
     6 {
     7     ElementType Element;
     8     struct BinarySearchTreeNode *Left;
     9     struct BinarySearchTreeNode *Right;
    10 };
    11 
    12 //be careful with the names of the node and struct
    13 struct BinarySearchTreeNode* BinaryTreeLCA(struct BinarySearchTreeNode* TreeRoot,struct BinarySearchTreeNode* TreeNode_1,struct BinarySearchTreeNode* TreeNode_2)
    14 {
    15     if(TreeRoot==NULL || TreeRoot==TreeNode_1 || TreeRoot==TreeNode_2)
    16     {
    17         return TreeRoot;
    18     }
    19     
    20     struct BinarySearchTreeNode* NewLeft = BinaryTreeLCA(TreeRoot -> Left,TreeNode_1,TreeNode_2);
    21     struct BinarySearchTreeNode* NewRight = BinaryTreeLCA(TreeRoot -> Right,TreeNode_1,TreeNode_2);
    22     
    23     if(NewLeft && NewRight)
    24     {
    25         return TreeRoot;
    26     }
    27     
    28     return NewLeft == NULL ? NewRight : NewLeft;
    29 }
    30 
    31 int main()
    32 {
    33     //struct BinarySearchTreeNode *TreeNode_1;
    34     //struct BinarySearchTreeNode *TreeNode_2;
    35     //struct BinarySearchTreeNode *TreeNodeLCA;
    36     //TreeNode_1 = BinarySearchTreeNodeFind(2,TreeRoot);
    37     //TreeNode_2 = BinarySearchTreeNodeFind(-1,TreeRoot);
    38     //TreeNodeLCA = BinaryTreeLCA(TreeRoot,TreeNode_1,TreeNode_2);
    39     return 0;
    40 }
  • 相关阅读:
    遭遇争强好胜
    Redis学习笔记一:数据结构与对象
    Lua模块测试
    SQL JOIN
    Error:(1, 1) java: 非法字符: ‘ufeff’
    Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
    HTTPS为什么又快又安全?
    QA
    linux日志分割、去重、统计
    Maven:dependency scope
  • 原文地址:https://www.cnblogs.com/Asurudo/p/9427483.html
Copyright © 2011-2022 走看看