leetcode589. N叉樹的前序遍歷

給定一個 N 叉樹,返回其節點值的前序遍歷

例如,給定一個?3叉樹?:

返回其前序遍歷:?[1,3,5,6,2,4]

思路:先放入自己,再依次遍歷孩子。

/*
// Definition for a Node.
class Node {public int val;public List<Node> children;public Node() {}public Node(int _val) {val = _val;}public Node(int _val, List<Node> _children) {val = _val;children = _children;}
};
*/class Solution {List<Integer> res=new ArrayList<Integer>();public List<Integer> preorder(Node root) {helper(root);return res;}public void helper(Node root){if (root==null) return;res.add(root.val);for (int i = 0; i <root.children.size() ; i++) {helper(root.children.get(i));}}
}

?

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

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

相關文章

ORA-00001 違反唯一約束條件

程序跑出下面的異常&#xff1a;com.ibm.websphere.ce.cm.DuplicateKeyException: ORA-00001: 違反唯一約束條件 (EOMS3.SYS_C0024492)&#xff0c;參考下面的文章了解到我的程序可能是序列的問題。&#xff08;果然是序列產生的最小值設置的太小&#xff0c;將序列值設置大之后…

順序結構實現【數據結構】

雖然在數據結構當中是先出現的線性表&#xff0c;然后出現的是數組 一&#xff1a;線性表的順序存儲結構 順序映象&#xff1a;用一組地址連續的存儲單元依次存放線性表當中的數據元素 線性表的起始地址&#xff1a;線性存儲第一個數據元素的地址&#xff0c;我們也稱作是基地址…

leetcode590. N叉樹的后序遍歷

給定一個 N 叉樹&#xff0c;返回其節點值的后序遍歷。 例如&#xff0c;給定一個 3叉樹 : 思路&#xff1a;先遍歷所有孩子&#xff0c;再放入自己。 /* // Definition for a Node. class Node {public int val;public List<Node> children;public Node() {}public No…

鏈表的形式【F】

數據元素之間的關系在計算機中有兩種表示方法: 順序映象, 非順序映象. 對應兩種存儲結構: 順序存儲結構, 鏈式存儲結構 線性結構就是一種邏輯關系&#xff0c;方便我們對數據進行研究但是不考慮真實的存儲結構 數據是什么&#xff1f; 數據是能夠反應一定內容的一組數據類型的…

leetcode892. 三維形體的表面積

在 N * N 的網格上&#xff0c;我們放置一些 1 * 1 * 1 的立方體。 每個值 v grid[i][j] 表示 v 個正方體疊放在對應單元格 (i, j) 上。 請你返回最終形體的表面積。 示例 1&#xff1a; 輸入&#xff1a;[[2]] 輸出&#xff1a;10 示例 2&#xff1a; 輸入&#xff1a;…

leetcode914. 卡牌分組

給定一副牌&#xff0c;每張牌上都寫著一個整數。 此時&#xff0c;你需要選定一個數字 X&#xff0c;使我們可以將整副牌按下述規則分成 1 組或更多組&#xff1a; 每組都有 X 張牌。 組內所有的牌上都寫著相同的整數。 僅當你可選的 X > 2 時返回 true。 示例 1&#xf…

單鏈表的實現【數據結構】

思考&#xff1a; 1.是否能夠將原來指針的方向改為向前指向呢&#xff1f; 2.是否能夠有兩個指針域的操作呢&#xff1f; 了解&#xff1a; 單鏈表是應用最廣泛的一種形式&#xff0c;還有雙向鏈表以及循環鏈表&#xff0c;這些都是要進行討論的 結構體定義的是什么&#xff1f…

(詳細圖解)VS2017安裝教程

VS 2017 版本同 15 版一樣&#xff0c;細分為三個版本&#xff0c;分別是&#xff1a; 社區版&#xff08;Community&#xff09;&#xff1a;免費提供給單個開發人員&#xff0c;給予初學者及大部分程序員支持&#xff0c;可以無任何經濟負擔、合法地使用。企業版&#xff1a…

鏈表的代碼實現【數據結構F】

單鏈表的特點&#xff1a;每次結點的分配都是動態進行分配的&#xff0c;melloc函數實現的功能是開辟一塊新的內存空間&#xff0c;但是返回的是一個地址&#xff0c;只能是地址&#xff0c;沒有別名的事情&#xff0c;那就有點難辦了&#xff0c;這是一種間接的尋址&#xff0…

(圖文詳細)如何使用Code::Blocks運行c/cpp文件?

1) 新建源文件 打開 CodeBlocks &#xff0c;在上方菜單欄中選擇 “文件 --> 新建 --> 空白文件”&#xff0c;如下圖所示&#xff1a; 或者直接按下 Ctrl Shift N 組合鍵&#xff0c;都會新建一個空白的源文件&#xff0c;如下圖所示&#xff1a; 在空白源文件中輸入…

數據結構【插入操作具體代碼的實現】

插入操作具體代碼的實現 單鏈表delete的操作&#xff1a;

Linux GCC簡明教程(編寫c語言程序)

市面上常見的 Linux 都是發行版本&#xff0c;典型的 Linux 發行版包含了 Linux 內核、桌面環境&#xff08;例如 GNOME、KDE、Unity 等&#xff09;和各種常用的必備工具&#xff08;例如 Shell、gcc、VIM、Firefox 等&#xff09;&#xff0c;國內使用較多的是 CentOS、Ubunt…

Oracle中如何獲取當天時間的最開始的時間和最結尾的時間:

如下&#xff1a; 1.獲取當前時間的最開始的時間&#xff1a; select to_char(TRUNC(SYSDATE),yyyy-mm-dd hh24:mi:ss) from dual; 結果&#xff1a;2013-08-26 00:00:00 2.獲取當前時間的最結尾的時間&#xff1a; selectTRUNC(SYSDATE)1-1/86400 FROM dual; 結果&#x…

解決VS'scanf':this function or variable may be unsafe.`(VS安全函數問題)

在 VS&#xff08;Visual Studio&#xff09;下編譯C語言程序&#xff0c;如果使用了 scanf()、gets()、strcpy()、strcat() 等與字符串讀取或操作有關的函數&#xff0c;有時候VS會報錯&#xff0c;提示該函數可能不安全&#xff0c;并且建議替換為帶有_s后綴的安全函數&#…

雙向循環鏈表【數據結構】

單鏈表的缺點以及對單鏈表缺點的改進和雙向鏈表的理解操作 雙向循環列表的插入操作 線性結構是一種邏輯結構&#xff0c;順序存儲結構&#xff0c;鏈式存儲結構

什么是編譯器?(程序是怎么跑起來的)

我們平時所說的程序&#xff0c;是指雙擊后就可以直接運行的程序&#xff0c;這樣的程序被稱為可執行程序&#xff08;Executable Program&#xff09;。在 Windows 下&#xff0c;可執行程序的后綴有 .exe 和 .com&#xff08;其中 .exe 比較常見&#xff09;&#xff1b;在類…

C++std命名空間和頭文件詳解

一個中大型軟件往往由多名程序員共同開發&#xff0c;會使用大量的變量和函數&#xff0c;不可避免地會出現變量或函數的命名沖突。當所有人的代碼都測試通過&#xff0c;沒有問題時&#xff0c;將它們結合到一起就有可能會出現命名沖突。 例如小李和小韓都參與了一個文件管理系…

C++ new和delete

在C語言中&#xff0c;動態分配內存用 malloc() 函數&#xff0c;釋放內存用 free() 函數。如下所示&#xff1a; int *p (int*) malloc( sizeof(int) * 10 ); //分配10個int型的內存空間free(p); //釋放內存 在cpp中&#xff0c;這兩個函數仍然可以使用&#xff0c;但是C又…