树上结点间最大距离
info(maxdistance,height)
basecase 叶(0,0)
maxdistance=
1)结点参与 左树高+右树高+1
2)结点不参与 max(左树最大距离,右树最大距离)
height=max(height)+1
最大快乐值:员工关系呈现树状,老板作为根结点,上级来了直属下级不能来(隔代来)
1)X来 X乐+累加 max(下级来,下级不来)
2)X不来 0+累加 max(下级来,下级不来)
basecase return(x.happy,0)
Morris遍历
空间复杂度为N的遍历,线索二叉树,只到达两次
第一次为先序,第二次为中序,第二次时逆序打印左树右边界为后序(最后单打印整树右边界)
维护cur和mostright
1)无左孩子,cur右移动
2)有左孩子,找到左树的mostright,右孩子 A:若指向空,改指向cur,cur左移。B:若指向cur,改指向null,cur右移
3) cur为空停止