当前位置: 代码迷 >> 综合 >> 二叉搜索树的最近公共祖先 递归和迭代
  详细解决方案

二叉搜索树的最近公共祖先 递归和迭代

热度:10   发布时间:2024-02-22 14:56:34.0
#include<bits/stdc++.h>
//二叉搜索树的最近公共祖先 递归 和迭代版本
using namespace std;
struct node
{int val;node* right;node* left;
};node* fun1(node* root, node* p, node* q){if(p->val < root->val && q->val < root->val){return fun1(root->left, p, q);}else if(p->val > root->val && q->val > root->val){return fun1(root->right, p, q);}else return root;
}
node* fun2(node* root, node* p, node* q){if(p->val > q->val){swap(p, q);}while(root){if(root->val > q->val){root = root->left;}else if(root->val < p->val){root = root->right;}else{break;}}return root;
}
int main()
{return 0;
}

 

  相关解决方案