面試題:二叉樹的下一個節點
阿新 • • 發佈:2018-08-26
ret 試題 tree link 同時 pre lin 下一個 color
題目描述:給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。註意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指針。
思路:
//包含指向父節點的指針 //node.next node.left node.right public class Solution { public TreeLinkNode GetNext(TreeLinkNode node){ if(node==null) return null; //如果有又子樹,則返回又子樹的最左邊節點 if(node.right!=null){ node=node.right; while(node.left!=null){ node=node.left; } return node; } //如果沒有又子樹 返回當前父節點是左子樹的節點 while(node.next!=null&&node!=node.next.left){ node=node.next; } return node.next; } }
面試題:二叉樹的下一個節點