关注
贴一个第一题的解法吧:思路:求最近祖先,然后层次遍历,求路径长。下面是求路径,节点的话,再+1就行 class Node:
def __init__(self,val):
self.val = val
self.left = None
self.right = None
def countPath(node, a:int, b:int):
res = 0
stack = [node]
while len(stack) > 0:
tmp = []
while len(stack) > 0:
t = stack.pop()
if t == None:
continue
if t.val == a or t.val == b:
return res
tmp.append(t.left)
tmp.append(t.right)
stack = tmp
res += 1
return -float("inf")
def nodeDistances(root:None,a:int,b:int):
if root == None:
return None
if root.val == a or root.val == b:
return root
x = nodeDistances(root.left, a, b)
y = nodeDistances(root.right, a, b)
if x == None:
return y
elif y == None:
return x
else:
return root
if __name__ == "__main__":
root = nodeDistances(node, a, b)
if root.val == a or root.val == b:
print(max(countPath(root.left,a,b), countPath(root.right,a,b)) + 1)
else:
print(countPath(root.left,a,b) + countPath(root.right,a,b) + 2)
查看原帖
点赞 评论
相关推荐
牛客热帖
正在热议
# 25届秋招总结 #
274536次浏览 2345人参与
# 如果实习可以转正,你会不会放弃秋招 #
205617次浏览 2799人参与
# 北方华创开奖 #
24251次浏览 262人参与
# 地方国企笔面经互助 #
3135次浏览 7人参与
# 学历or实习经历,哪个更重要 #
46342次浏览 357人参与
# 选完offer后,你后悔学本专业吗 #
15828次浏览 118人参与
# 如何一边实习一边秋招 #
988594次浏览 12619人参与
# 数据人的面试交流地 #
435977次浏览 7810人参与
# 0offer是寒冬太冷还是我太菜 #
891305次浏览 7954人参与
# 得物求职进展汇总 #
64507次浏览 670人参与
# 软开人,秋招你打算投哪些公司呢 #
41118次浏览 530人参与
# 你觉得专业和学校哪个对薪资影响最大 #
28739次浏览 215人参与
# 查收我的offer竞争力报告 #
20792次浏览 261人参与
# 你最想要的公司福利是? #
43002次浏览 157人参与
# 来聊聊机械薪资天花板是哪家 #
67060次浏览 453人参与
# 当你面对裁员会如何? #
26407次浏览 154人参与
# 应届生被毁约被毁意向了怎么办 #
28705次浏览 244人参与
# 一觉醒来,我觉醒了超级打工人系统 #
3508次浏览 36人参与
# 没有实习经历,还有机会进大厂吗 #
808347次浏览 13872人参与
# 面试体验感最好的是哪家? #
84023次浏览 821人参与
# 机械应届生薪资要多少才合适? #
12614次浏览 61人参与