【鏈表Linked List】力扣-117 填充每個節點的下一個右側節點指針II

目錄

問題描述

解題過程

官方題解


問題描述

給定一個二叉樹:

struct Node {int val;Node *left;Node *right;Node *next;
}

填充它的每個 next 指針,讓這個指針指向其下一個右側節點。如果找不到下一個右側節點,則將 next 指針設置為?NULL?。

初始狀態下,所有?next 指針都被設置為?NULL?。

示例 1:

輸入:root = [1,2,3,4,5,null,7]
輸出:[1,#,2,3,#,4,5,7,#]
解釋:給定二叉樹如圖 A 所示,你的函數應該填充它的每個 next 指針,以指向其下一個右側節點,如圖 B 所示。序列化輸出按層序遍歷順序(由 next 指針連接),'#' 表示每層的末尾。

示例 2:

輸入:root = []
輸出:[]

提示:

  • 樹中的節點數在范圍?[0, 6000]?內
  • -100 <= Node.val <= 100

解題過程

樹的題目就是不會啊,直接學習解析吧,不掙扎了,橫向遍歷是一點思路都沒有

官方題解

方法一:層次遍歷

簡述一下deque()容器:deque是"double-end queue"的簡稱,是collections模塊中的,針對Python內置的容器,它類似于list,可以快速的在隊列頭部和尾部添加、刪除元素,是棧和隊列的一種廣義實現,常使用append()從右端加入元素,popleft()移除列表左端的一個元素。

需要注意的是,root本身屬于可迭代對象,所以在對queue賦值時,使用了[],如上述代碼:

queue = deque([root])

首先得到根節點,最后通過循環獲得對應的下一級的所有節點,再確定next指向。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214045.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214045.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214045.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++中字符串詳解

在C語言中只能通過字符串數組來模擬字符串&#xff0c;沒有字符串類型。在C引入了string類來表示字符串類型。從而用它定義字符串。 在C語言中&#xff1a; char str[] "abc"; char str[] {a&#xff0c;b,c,\0}; char* str "abc"; //這三種形式是C語言…

因為高考考砸了,我學了計算機

2015年&#xff0c;是我高中的最后一年。 2023年&#xff0c;我已在計算機領域工作十多個年頭。 我出生在東部省份的一個不沿海小縣城&#xff0c;在那里度過了我高考前的17年。起點平平&#xff0c;沒有任何特長傍身&#xff0c;也可以說是毫無亮點&#xff1b;成績中等&#…

代碼隨想錄算法訓練營第四十五天 _ 動態規劃_ 70. 爬樓梯、322.零錢兌換、279.完全平方數、139.單詞拆分。

學習目標&#xff1a; 動態規劃五部曲&#xff1a; ① 確定dp[i]的含義 ② 求遞推公式 ③ dp數組如何初始化 ④ 確定遍歷順序 ⑤ 打印遞歸數組 ---- 調試 引用自代碼隨想錄&#xff01; 60天訓練營打卡計劃&#xff01; 學習內容&#xff1a; 70. 爬樓梯 動態規劃五步曲&…

中文語音標注工具FunASR(語音識別)

全稱 A Fundamental End-to-End Speech Recognition Toolkit&#xff08;一個語音識別工具&#xff09; 可能大家用過whisper&#xff08;openAi&#xff09;&#xff0c;它【標注英語的確很完美】&#xff0c;【但中文會出現標注錯誤】或搞了個沒說的詞替換上去&#xff0c;所…

【Fiddler】IDEA配置Fiddler

由于遇上了個迷之請求&#xff0c;接口調用正常&#xff0c;OkHttpClient調用正常&#xff0c;RestTemplate調用失敗&#xff0c;所以想看看發送的報文是怎樣的&#xff0c;所以就下了個Fiddler 問題 下載安裝&#xff0c;以及如何安裝證書&#xff0c;網上太多相同文章了&…

APP備案,最新獲取安卓簽名文件中MD5等信息方法

1.通過簽名文件獲取SHA1和SHA256 直接通過cmd執行命令 keytool -list -v -keystore xxxxx/xxx/xx/xxx.keystore輸入后回車會提示輸入密碼庫口令&#xff0c;直接輸入Keystore密碼&#xff08;輸入過程中終端上不會顯示&#xff0c;輸完回車就行&#xff09; 2.獲取md5 由于…

redis集群(cluster)筆記

1. 定義&#xff1a; 由于數據量過大&#xff0c;單個Master復制集難以承擔&#xff0c;因此需要對多個復制集進行集群&#xff0c;形成水平擴展每個復制集只負責存儲整個數據集的一部分&#xff0c;這就是Redis的集群&#xff0c;其作用是提供在多個Redis節點間共享數據的程序…

IDEA啟動失敗報錯解決思路

IDEA啟動失敗報錯解決思路 背景&#xff1a;在IDEA里安裝插件失敗&#xff0c;重啟后直接進不去了&#xff0c;然后分析問題解決問題的過程記錄下來。方便下次遇到快速解決。也是一種解決問題的思路&#xff0c;分享出去。 啟動報錯信息 Internal error. Please refer to https…

加索引后 sql loader-951

加索引后 sql loader-951 現象解決過程最終解決 現象 之前使用sqlldr正常&#xff0c;加表索引后使用sqlldr時 報錯 SQL Loader-951 解決過程 百度&#xff0c;說可能是鎖表&#xff08;或者表未提交&#xff09; 查看沒有對應未commit數據&#xff0c;且沒有鎖表。查看對應…

【筆記 Python 01】基本數據類型、基本類型

文章目錄 類型是否可轉換基本類型匯總集合 set【創建】【添加元素】【刪除】【清空】【差集】【交集】【并集】【update 批量更新】【set → numpy】 元組 tuple ()【描述】【優點】【元組的創建】【元組的插入】【刪除元組】 字典 dict {}【創建空列表】【創建列表】【字典的獲…

ke14--10章-1數據庫JDBC介紹

注冊數據庫(兩種方式),獲取連接,通過Connection對象獲取Statement對象,使用Statement執行SQL語句。操作ResultSet結果集 ,回收數據庫資源. 需要語句: 1Class.forName("DriverName");2Connection conn DriverManager.getConnection(String url, String user, String…

抖音各加密參數說明和獲取(含代碼)

?X-Bogus&#xff1a;X-Bogus是一種防數據包偽造的一個參數&#xff0c; 又稱為x偽造&#xff0c;主要用于反爬蟲&#xff0c;這個是某節公司下面基礎服務&#xff0c;這個反爬蟲機制幾乎用在了它所有的產品中&#xff0c;不過&#xff0c;只要是能正常使用&#xff0c;這些東…

什么是Non EC

今天在填一個表單時&#xff0c;里面有個Non EC的選項&#xff0c;不解其意。原來是歐盟成員國國民的意思&#xff0c;因為歐盟法規各方面比較嚴厲&#xff0c;所以會單列出來&#xff0c;作為一個條件。 互聯網查詢結果如下&#xff1a; Non-EC是指非歐盟&#xff08;EU&#…

PHP基礎 - 常量字符串

常量 在PHP中,常量是一個簡單值的標識符,定義后默認是全局變量,可以在整個運行的腳本的任何地方使用。常量由英文字母、下劃線和數字組成,但數字不能作為首字母出現。 PHP中定義常量的方式是使用define()函數,其語法如下: bool define( string $name, mixed $value [,…

使用人工智能優化常見業務流程

在現代商業環境中&#xff0c;人工智能(AI)正在改變企業的運營方式。將人工智能集成到業務流程中可以提高效率和準確性&#xff0c;從而節省大量時間和成本。 這使員工能夠專注于更具戰略性的任務。人工智能在商業中的應用范圍從自動化日常任務到提供高級分析&#xff0c;以做…

【mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar安裝】linux安裝mysql5.7

之前安裝的時候遇到了很多問題&#xff0c;浪費了一些時間。整理出這份教程&#xff0c;照著做基本一遍過。 這是安裝包: 鏈接&#xff1a;https://pan.baidu.com/s/1gBuQBjA4R5qRYZKPKN3uXw?pwd1nuz 1.下載安裝包&#xff0c;上傳到linux。我這里就放到downloads目錄下面…

郵政快遞單號查詢入口,刪除不需要的單號

批量查詢郵政快遞單號的物流信息&#xff0c;并刪除不需要的單號。 所需工具&#xff1a; 一個【快遞批量查詢高手】軟件 郵政快遞單號若干 操作步驟&#xff1a; 步驟1&#xff1a;運行【快遞批量查詢高手】軟件&#xff0c;第一次使用的伙伴記得先注冊&#xff0c;然后登錄…

SimpleSQL

游戲和應用中的SQL集成 simpleSQL可將數據庫存儲集成到您的游戲或項目中。創建水平地圖鏈接,存儲球員的統計資料,保持庫存規格,以及更多! 請注意,simpleSQL是本地數據庫解決方案,不能連接到服務器數據庫 將SQLite數據庫附加到場景中的管理器 無需移動移動設備上的文件! 使…

LeetCode力扣每日一題(Java):20、有效的括號

一、題目 二、解題思路 1、我的思路 我看到題目之后&#xff0c;想著這可能是力扣里唯一一道我能秒殺的題目了 于是一波操作猛如虎寫出了如下代碼 public boolean isValid(String s) {char[] c s.toCharArray();for(int i0;i<c.length;i){switch (c[i]){case (:if(c[i]…

玩法題材創新的跑酷游戲,廣告變現不止帶來收益 | TopOn變現干貨

跑酷游戲是一類永不落伍的游戲。從遠古的紅白機到現代的PC、手機&#xff0c;經典作品層出不窮&#xff0c;而提起手機端的跑酷游戲&#xff0c;相信大部分玩家腦海里的第一印象便是《神廟逃亡》和《地鐵跑酷》這兩款經典游戲&#xff0c;在上躥下跳、左右挪移間躲避障礙&#…