LeetCode 二叉樹的前序遍歷

2021-09-26 03:49:11 字數 510 閱讀 8956

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

下面我將給出兩種寫法,一種是遞迴,一種是迭代

//遞迴方法實現

//遞迴實現所有的樹基本都是三行

//但要注意的是,我們要把遞迴實現的部分盡可能變少,否則會造成棧溢位

class solution

return result;

}private:

void pretree(treenode* root, vector& v)

}};

非遞迴方法實現

class solution 

stacktreestack;

treenode* tmp;

treestack.push(root);

while(!treestack.empty())

if(nullptr != tmp->left)

}return result;

}};

前序遍歷二叉樹

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

LeetCode 初級演算法 樹 二叉樹的層次遍歷

給定乙個二叉樹,返回其按層次遍歷的節點值。即逐層地,從左到右訪問所有節點 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回其層次遍歷結果 3 9,20 15,7 一開始的解法是,先層次遍歷把所有的樹節點存放進乙個二維list中,然後在做一次巢狀迴圈將每個節點的...

二叉樹的前序遍歷

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