lintcode 二叉樹的前序遍歷

2021-07-30 06:02:30 字數 510 閱讀 2875

1、題目

給出一棵二叉樹,返回其節點值的前序遍歷。

樣例

給出一棵二叉樹,

1 \2/

3

返回[1,2,3].

2、思路

用遞迴前序遍歷。

遞迴遍歷左子樹,再遍歷根節點,最後遍歷右子樹。每一次回溯把當前根節點添進向量。

3、**

/*** definition of treenode:

* class treenode

* }*/

class solution

else

return t;

}    };

4、思路

不知道是才開始用遞迴的原因嗎,總覺得遍歷的非遞迴演算法更好理解,還好也學習了遞迴,起碼遞迴的**比較簡潔。

不懂為什麼要加std來定義向量,如果在**開頭寫了的話應該就不用了吧! 

二叉樹專題 lintcode二叉樹的層序遍歷

層序遍歷算是遍歷方式中,比較容易掌握的,實質就是寬度優先遍歷,bfs的基本 塊如下 void bfs 放到二叉樹的遍歷中來看,首先根節點入隊,根出隊,訪問根節點,再入隊左孩子,入隊右孩子 這樣再出隊時,就是訪問的第二層的左側.以此類推 我們來看看題目考察的方式 由以上的分析,容易想到先取到這一層的元...

前序遍歷二叉樹

題目 給定乙個二叉樹,返回它的 前序 遍歷。示例 輸入 1,null,2,3 輸出 1,2,3 方法一 遞迴 這是最容易想到且最容易實現的演算法。definition for a binary tree node.struct treenode treenode int x val x left n...

二叉樹的前序遍歷

二叉樹的前序遍歷 public class tree 建立二叉樹,返回根結點 param return public static tree createtree int else else else else return root 前序遍歷 param tree public static vo...