题解 | #二叉搜索树的最近公共祖先#

二叉搜索树的最近公共祖先

http://www.nowcoder.com/practice/d9820119321945f588ed6a26f0a6991f

二叉搜索树

根据二叉树性质,只用走一次

/**

  • struct TreeNode {
  • int val;
  • struct TreeNode *left;
  • struct TreeNode *right;
  • TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
  • }; / class Solution { public: /*
    • 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可

    • @param root TreeNode类

    • @param p int整型

    • @param q int整型

    • @return int整型 / bool flag=false; int ans=0; void find(TreeNode r,int p,int q){ if(!r||flag) return; if(r->val==q||r->val==p) { flag=true; ans=r->val; return; } if(r->val>q&&r->val>q){ find(r->left,p,q); } if(r->val<q&&r->val<q){ find(r->right,p,q); } if(r->val<q&&r->val>p||r->val>q&&r->val<q){ flag=true; ans=r->val; return; }

    } int lowestCommonAncestor(TreeNode* root, int p, int q) { // write code here find(root,p,q); return ans; } };
全部评论
运行速度超过100%的代码
点赞 回复 分享
发布于 2021-11-16 09:44

相关推荐

11-19 18:44
已编辑
成都理工大学 Java
程序员花海:我面试过100+校招生,大厂后端面试不看ACM,竞赛经历含金量低于你有几份大厂实习 这个简历整体来看不错 可以海投
如何写一份好简历
点赞 评论 收藏
分享
10-29 19:45
吉林大学 Java
从零开始数:自我评价没有必要写,但是看起来你应该是学了csdiy的一些课程,可以在专业技能里面写上自己比较熟悉操作系统和计网,但如果你是找Java的话,把第一个项目换了吧,现在看起来有点四不像。 无论是黑马点评或者说做个轮子项目,刷题和八股也搞起来吧,而且也没必要等到寒假,最近就可以开始找,找到就偷偷实习呗,别被逮到就行了。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务