LeetCode144 二叉樹的前序遍歷

2021-10-02 11:21:22 字數 794 閱讀 8716

題目描述:

給定乙個二叉樹,返回它的前序遍歷。

分析:

遞迴演算法與非遞迴演算法。在非遞迴的方法中,使用輔助棧stack,右子樹先入棧左子樹**棧,就是根、左、右的順序。

**:

/**

* definition for a binary tree node.

* public class treenode

* }*///遞迴演算法

class solution

res.add(root.val); //非空的情況

preorder(root.left,res);

preorder(root.right,res);

return res;

}public void preorder(treenode root,listlist)

list.add(root.val); //先將該節點的值加入list,再判斷其左右子樹

preorder(root.left,list);

preorder(root.right,list);

}}//非遞迴演算法 利用輔助棧 先入後出

class solution

stackstack = new stack(); //利用棧遞迴

stack.push(root);

while(!stack.isempty())

return res;

}}

LeetCode 144 二叉樹的前序遍歷

1.題目 2.解答 2.1.遞迴法 定義乙個存放樹中資料的向量 data,從根節點開始,如果節點不為空,那麼 definition for a binary tree node.struct treenode class solution vectortemp if root null return...

LeetCode 144 二叉樹的前序遍歷

給定乙個二叉樹,返回它的 前序 遍歷。示例 輸入 1,null,2,3 1 2 3 輸出 1,2,3 高階 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?時間複雜度 o n 每個結點只會遍歷一次 空間複雜度 o n 遞迴實際上是要借助棧 definition for a binary tree no...

LeetCode 144 二叉樹的前序遍歷

給定乙個二叉樹,返回它的 前序 遍歷。示例 輸入 1,null,2,3 1 2 3 輸出 1,2,3 高階 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?時間複雜度 o n 每個結點遍歷一次 空間複雜度 o n 遞迴借助棧 definition for a binary tree node.stru...