008,二叉樹的下一個節點
二叉樹的下一個結點
題目描述
給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。
解題思路
① 如果一個節點有右子樹不為空,那麼該節點的下一個節點是右子樹的最左節點;
![5501600-3722ac18da265ba6.png](https://upload-images.jianshu.io/upload_images/5501600-3722ac18da265ba6.png)
② 否則,向上找第一個左連結指向的樹包含該節點的祖先節點。
![5501600-2ae3181cfdaa0c46.png](https://upload-images.jianshu.io/upload_images/5501600-2ae3181cfdaa0c46.png)
public class TreeLinkNode {
int val;
TreeLinkNode left = null;
TreeLinkNode right = null;
TreeLinkNode next = null;
TreeLinkNode(int val) {
this.val = val;
}
}
public TreeLinkNode GetNext(TreeLinkNode pNode) {
if (pNode.right != null) {
TreeLinkNode node = pNode.right;
while (node.left != null) node = node.left;
return node;
} else {
while (pNode.next != null) {
TreeLinkNode parent = pNode.next;
if (parent.left == pNode) return parent;
pNode = pNode.next;
}
}
return null;
}
相關文章
- 二叉樹兩個節點的公共節點二叉樹
- 劍指offer 面試題 7 :二叉樹的下一個節點是什麼?面試題二叉樹
- 快速求完全二叉樹的節點個數二叉樹
- 《劍指offer》:[58]二叉樹的下一個結點二叉樹
- 二叉樹中兩個節點的最低公共祖先二叉樹
- 二叉樹節點個數,葉子個數,第K層個數,最低公共節點二叉樹
- 演算法題(三十五):二叉樹的下一個結點演算法二叉樹
- Java二叉樹排序及任意兩點個節點間的最大距離Java二叉樹排序
- 填充每個節點的下一個右側節點指標指標
- 為什麼二叉樹中葉子節點個數等於度為2的節點個數+1二叉樹
- 填充每個節點的下一個右側節點指標 II指標
- Java中在二叉搜尋樹中查詢節點的父節點Java
- LeetCode-222-完全二叉樹的節點個數LeetCode二叉樹
- (python版)《劍指Offer》JZ57:二叉樹的下一個結點Python二叉樹
- 二叉樹中相距最遠的兩個節點之間的距離二叉樹
- 刷題系列 - 在二叉樹中,為每個節點關聯其右相鄰節點二叉樹
- 二叉樹任意兩個節點間的最大距離(Java,LeetCode 543二叉樹的直徑 遞迴)二叉樹JavaLeetCode遞迴
- 到達二叉樹目標節點的完整路徑二叉樹
- 【vue】在二叉樹中根據子節點找出父節點路徑Vue二叉樹
- 刷題系列 - 在二叉樹中查詢給出節點,並返回以該節點為根的樹二叉樹
- JavaScript 獲取下一個元素節點JavaScript
- 116. 填充每個節點的下一個右側節點指標指標
- Day16 | 104.二叉樹的最大深度 、111.二叉樹的最小深度 、222.完全二叉樹的節點個數二叉樹
- 平衡二叉樹 AVL 的插入節點後旋轉方法分析二叉樹
- 面試8:找二叉樹的下個結點面試二叉樹
- 刷題系列 - 在給出二叉樹中兩個點,求出其最小共同父節點二叉樹
- 二叉樹父子節點下標位置關係證明二叉樹
- 《劍指offer》之在完全二叉樹中新增子節點二叉樹
- Kotlin 鏈式儲存的二叉樹中查詢節點Kotlin二叉樹
- LeetCode——671. 二叉樹中第二小的節點LeetCode二叉樹
- leetcode------給定一個二叉樹和一個值sum,判斷是否有從根節點到葉子節點的節點值之和等於sum 的路徑,LeetCode二叉樹
- LeetCode-116-填充每個節點的下一個右側節點指標LeetCode指標
- LeetCode-117-填充每個節點的下一個右側節點指標 IILeetCode指標
- LeetCode117-填充每個節點的下一個右側節點指標 IILeetCode指標
- 二叉樹中最遠的兩個結點的距離二叉樹
- JavaScript獲取下一個同級元素節點JavaScript
- 建立二叉樹:層次遍歷--樹的寬度高度,後序遍歷--祖先節點二叉樹
- 【微軟面試題】在二叉搜尋樹中找最小的大於某個key值的節點微軟面試題