LeetCode117-填充每個節點的下一個右側節點指標 II
LeetCode117-填充每個節點的下一個右側節點指標 II
題目
給定一個二叉樹
struct Node {
int val;
Node *left;
Node *right;
Node *next;
}
填充它的每個 next 指標,讓這個指標指向其下一個右側節點。如果找不到下一個右側節點,則將 next 指標設定為 NULL。
初始狀態下,所有 next 指標都被設定為 NULL。
解法
class Solution {
public Node connect(Node root) {
if(root==null) return null;
//如果左右子節點不是空的,右側子節點的next交給下面的判斷語句
if(root.left != null && root.right != null){
root.left.next = root.right;
}
//如果左側子節點不是空的,右側子節點是空的
if(root.left != null && root.right == null){
root.left.next = getNext(root.next);
}
//如果右側節點不是空的(這個包括了兩個情況,一個情況是左右子節點都不是空的,另一個情況是左子節點是空的,右側子節點不是空的)
if(root.right != null){
root.right.next = getNext(root.next);
}
connect(root.right);
connect(root.left);
return root;
}
//獲取下一個右側節點
private Node getNext(Node root){
if(root == null) return null;
if(root.left != null) return root.left;
if(root.right != null) return root.right;
if(root.next != null) return getNext(root.next);
return null;
}
}
相關文章
- 填充每個節點的下一個右側節點指標 II指標
- 填充每個節點的下一個右側節點指標指標
- LeetCode-117-填充每個節點的下一個右側節點指標 IILeetCode指標
- 116. 填充每個節點的下一個右側節點指標指標
- LeetCode-116-填充每個節點的下一個右側節點指標LeetCode指標
- 刷題系列 - 在二叉樹中,為每個節點關聯其右相鄰節點二叉樹
- JavaScript 獲取下一個元素節點JavaScript
- 008,二叉樹的下一個節點二叉樹
- 給每一個結點新增向右的next指標結點指標
- MySQL:非葉子節點指標MySql指標
- 1019. 連結串列中的下一個更大節點
- 連結串列中的節點每k個一組翻轉
- 劍指offer 面試題 7 :二叉樹的下一個節點是什麼?面試題二叉樹
- TCP 中的兩個細節點TCP
- css 定位如何依次定位多個節點下面的子節點CSS
- 劍指Offer-38-兩個連結串列的第一個公共節點
- 【劍指offer】【3】輸入一個連結串列,從尾到頭列印連結串列每個節點的值。
- dom4j 根據xml節點路徑查詢節點,找到對應的目標節點下的子節點,對節點Text值進行修改XML
- 求遍歷網頁每一個節點的框架,最好是 python 寫的網頁框架Python
- 將每個元素替換為右側最大元素
- [連結串列]leetcode1019-連結串列中的下一個更大節點LeetCode
- 兩個連結串列的第一個公共節點
- 如何執行一個 Conflux 節點UX
- 力扣 - 劍指 Offer 52. 兩個連結串列的第一個公共節點力扣
- selenium-grid 有多個節點,但 pytest.main 批次執行用例,每次只有一個節點執行用例,不能同時多個節點執行,要怎樣才能多個節點同時執行AI
- redis cluster 強制kill某一個節點和shutdown某一個節點後修復過程Redis
- JavaScript學習之DOM(節點、節點層級、節點操作)JavaScript
- K個節點翻轉連結串列
- LCR 140. 訓練計劃 II 連結串列倒數第k個節點
- 為什麼二叉樹中葉子節點個數等於度為2的節點個數+1二叉樹
- 自定義有多個按鈕節點的SliderViewIDEView
- DOM(文件物件模型)的12個節點型別物件模型型別
- WebRTC本地插入多個轉發節點,模擬多節點轉發,造成延遲Web
- Linux--檔案描述符、檔案指標、索引節點Linux指標索引
- 第 10 節 指標指標
- DocumentFragment文件碎片(高效批量更新多個節點)Fragment
- js用字首名查詢class或id節點,js模糊查詢某個dom節點JS
- leetcode------給定一個二叉樹和一個值sum,判斷是否有從根節點到葉子節點的節點值之和等於sum 的路徑,LeetCode二叉樹