根據中序遍歷的規則,當結點存在右子樹的時候,中序遍歷的下乙個結點為右子樹的最左節點。但是當節點不存在右子樹的時候,中序遍歷的下乙個結點必定為該節點的父輩節點。但是究竟是哪一輩呢?
/* public class treelinknode }
*/public
class
solution
//如果當前結點有右子樹,則找右子樹的最左結點
if(pnode.right!=null)
return pnode;
}//沒右子樹,向上尋找第乙個左子樹為當前節點的結點
while
(pnode.next!=null)
pnode = pnode.next;
}return null;
}}
劍指Offer 刷題 重建二叉樹
definition for binary tree public class treenode public class solution int val pre prel 前序遍歷序列中的第乙個數即為根節點 treenode tree newtreenode val int mid 0 找到根節...
劍指Offer刷題筆記 二叉樹的映象
操作給定的二叉樹,將其變換為源二叉樹的映象。思路 遞迴的交換左右子樹。不是交換結點的數值,直接交換結點。coding utf 8 class treenode def init self,x self.val x self.left none self.right none class soluti...
劍指Offer刷題筆記 二叉樹的深度
輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。就是深度搜尋,找到最大深度。coding utf 8 class treenode def init self,x self.val x self.left none self.r...