116. 填充每個節點的下一個右側節點指標
給定一個完美二叉樹,其所有葉子節點都在同一層,每個父節點都有兩個子節點。二叉樹定義如下:
struct Node {
int val;
Node *left;
Node *right;
Node *next;
}填充它的每個 next 指標,讓這個指標指向其下一個右側節點。如果找不到下一個右側節點,則將 next 指標設定為 NULL。
初始狀態下,所有 next 指標都被設定為 NULL。
'''
方法1的空間開銷在於佇列,可以利用兩個指標來代替佇列的作用。設一個指標first指向遍歷到的每層的頭節點,用另一個輔助指標cur完成對first所指的當前層的遍歷。
程式碼
'''
class Solution:
def connect(self, root: 'Node') -> 'Node':
if not root:return root
fist=root
while fist and fist.left:
cur=fist
while cur and cur.left:
cur.left.next=cur.right
if cur.next:
cur.right.next=cur.next.left
cur=cur.next
fist=fist.left
return root
相關文章
- 填充每個節點的下一個右側節點指標指標
- 填充每個節點的下一個右側節點指標 II指標
- LeetCode-116-填充每個節點的下一個右側節點指標LeetCode指標
- LeetCode117-填充每個節點的下一個右側節點指標 IILeetCode指標
- LeetCode-117-填充每個節點的下一個右側節點指標 IILeetCode指標
- 刷題系列 - 在二叉樹中,為每個節點關聯其右相鄰節點二叉樹
- 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個節點翻轉連結串列
- 為什麼二叉樹中葉子節點個數等於度為2的節點個數+1二叉樹
- 自定義有多個按鈕節點的SliderViewIDEView
- DOM(文件物件模型)的12個節點型別物件模型型別
- WebRTC本地插入多個轉發節點,模擬多節點轉發,造成延遲Web
- Linux--檔案描述符、檔案指標、索引節點Linux指標索引
- 第 10 節 指標指標
- DocumentFragment文件碎片(高效批量更新多個節點)Fragment
- js用字首名查詢class或id節點,js模糊查詢某個dom節點JS
- leetcode------給定一個二叉樹和一個值sum,判斷是否有從根節點到葉子節點的節點值之和等於sum 的路徑,LeetCode二叉樹
- 【許曉笛】EOS 超級節點的五個使命