关注
class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = None class Solution: def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode': if p.val >q.val: p,q =q,p while True: if root.val>q.val: root = root.left elif root.val < p.val: root = root.right else: return root def create(ceng,tree): ln = [] for i in range(ceng): for j,c in enumerate(tree): if j<pow(2,i)-1 or j>pow(2,i+1)-2:continue tmp = TreeNode(c) ln.append(tmp) if j >0: if (j-1)/2==int((j-1)/2):ln[int((j-1)/2)].left = tmp if (j-1)/2>int((j-1)/2):ln[int((j-1)/2)].right = tmp return ln ceng = 4#int(input().strip()) tree = [int(i) for i in '9 6 15 2 -1 12 25 -1 -1 -1 -1 -1 -1 20 37'.strip().split()] son1,son2 = 12,20#[int(i) for i in input().strip().split()] root = create(ceng,tree) s = Solution() p = TreeNode(son1) q = TreeNode(son2) print(s.lowestCommonAncestor(root[0],p,q).val)
查看原帖
点赞 3
相关推荐
Yilena:还是决定再沉淀沉淀了,小小海投了一下,入场晚了现在基本没有寒假实习岗了,几乎都是日常,而且岗位也比较少,质量也不高。还是等年后冲击一下中大厂的日常看看吧
点赞 评论 收藏
分享
点赞 评论 收藏
分享
10-30 18:20
第一拖拉机制造厂拖拉机学院 C++
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 为了去实习,我赌上了___ #
15162次浏览 160人参与
# 晒一晒你收到的礼盒 #
87517次浏览 427人参与
# uu们,春招你还来吗? #
7348次浏览 58人参与
# 2025年终总结 #
7686次浏览 143人参与
# 十二月请对我好一点 #
20599次浏览 289人参与
# 降低公积金和取消房补怎么选 #
22976次浏览 75人参与
# 父母对你找工作是助力还是阻力? #
10389次浏览 173人参与
# 实习打杂,要跑路吗 #
50486次浏览 320人参与
# 第一份工作能做外包吗? #
84766次浏览 568人参与
# 电信求职进展汇总 #
31088次浏览 166人参与
# 学历or实习经历,哪个更重要 #
200932次浏览 1059人参与
# 哪一瞬间让你觉得“这班不如不上” #
7868次浏览 117人参与
# 一人推荐一个值得做的项目 #
7212次浏览 103人参与
# 高薪高压 vs 低薪wlb,你怎么选? #
7961次浏览 89人参与
# 工作前VS工作后,你的心态变化 #
10266次浏览 136人参与
# 找工作时的取与舍 #
110189次浏览 828人参与
# 工作中出现了XX情况正常吗 #
25878次浏览 196人参与
# 市场营销人求职交流聚集地 #
162659次浏览 1212人参与
# 公司福利里最没用的一项是啥 #
5372次浏览 86人参与
# 回顾今年你干过的最“勇”的一件事 #
10752次浏览 139人参与