【数据结构】求二叉树中两个结点最近的公共祖先
来源:互联网 发布:session php注册示例 编辑:程序博客网 时间:2024/05/16 01:50
对于两个结点最近的公共祖先,有三种情况:
1,该二叉树是一棵二叉搜索树
struct TreeNode{int _value;TreeNode* _left;TreeNode* _right;TreeNode(int x): _value(x), _left(NULL), _right(NULL){}};TreeNode* LowestAncestor(TreeNode* _root, TreeNode* node1, TreeNode* node2){int m1 = min(node1->_value, node2->_value);int m2 = max(node1->_value, node2->_value);while (true){if (_root->_value > m2){_root = _root->_left;}else if (_root->_value < m1){_root = _root->_right;}else{break;}}return _root;}2,该二叉树是一棵具有三叉链的二叉树
struct TreeNode{int _value;TreeNode* _left;TreeNode* _right;TreeNode* _parent;TreeNode(int x):_value(x), _left(NULL), _right(NULL), _parent(NULL){}};TreeNode* LowestAncestor(TreeNode* _root, TreeNode* node1, TreeNode* node2){TreeNode* cur = NULL;while (node1 != NULL){node1 = node1->_parent;cur = node2;while (cur != NULL){if (node1 == cur->_parent){return node1;}cur = cur->_parent;}}}3,一般的普通二叉树:
struct TreeNode{int _value;TreeNode* _left;TreeNode* _right;TreeNode(int x):_value(x), _left(NULL), _right(NULL){}};TreeNode* LowestAncestor(TreeNode* _root, TreeNode* node1, TreeNode* node2){if (_root == NULL || _root == node1 || _root == node2){return _root;}TreeNode* left = LowestAncestor(_root->_left, node1, node2);TreeNode* right = LowestAncestor(_root->_right, node1, node2);if (left != NULL&&right = !NULL){return _root;}return left = NULL ? right : left;}
阅读全文
0 0
- 求二叉树中两个结点的最近公共祖先
- 【数据结构】求二叉树中两个结点最近的公共祖先
- 求二叉树中两个节点的最近公共祖先结点
- 求二叉树中两个节点的最近公共祖先
- 求二叉树中两个节点的最近公共祖先
- 求二叉树中两个节点的最近公共祖先
- 求二叉树中两个节点的最近公共祖先
- 求二叉树中两个节点的最近公共祖先
- 二叉树------寻找二叉树中两个结点的最近公共祖先
- 【学习点滴-数据结构-二叉树】求二叉树中某两个节点的最近公共祖先
- 二叉树中找两个结点的最近的公共祖先结点
- 二叉树中找两个结点的最近公共祖先结点
- 二叉树中找两个结点的最近公共祖先结点
- 二叉树--求二叉树中两个节点的最近公共祖先
- 二叉树中两个结点的最低公共祖先
- 满二叉树中任意两个结点的公共祖先
- 题目:在二叉树中给出两个已知结点,求这两个结点的最低公共祖先
- LCA问题:求二叉树中任意两个节点的最近公共祖先
- 二叉查找树、平衡二叉树、红黑树、B-/B+树性能对比
- comm命令
- 基于Nsight Eclipse Edition的高斯滤波的实现(二)
- 循环
- LeetCode 122 Best Time to Buy and Sell Stock II
- 【数据结构】求二叉树中两个结点最近的公共祖先
- 抽象类、接口和内部类
- Matplotlib.pyplot 常用方法(二)
- 一条用来表示“思路非常乱。。。”的博客
- 等精度测频的原理和基于FPGA的实现
- 哈密顿绕行世界问题 HDU
- qduoj 65 again and again 字典树
- Memcached基本操作
- B