給定乙個二叉樹,返回它的中序 遍歷。
示例:
輸入:[1
,null,2,
3]1 \
2/3輸出:[1,
3,2]
高階: 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?
/**
* definition for a binary tree node.
* struct treenode
* };
*/class
solution
void
inorder
(treenode* root,vector<
int>
&v)}
};
/**
* definition for a binary tree node.
* struct treenode
* };
*/class
solution
p=s.
top();
v.push_back
(p->val)
; s.
pop(
);
p=p-
>right;
}return v;}}
;
非遞迴實現效率明顯的高了很多。
一篇思路非常清晰的:先序,中序,後序非遞迴演算法
leetcode題解
LeetCode 94 中序遍歷二叉樹
傳送門 給定乙個二叉樹,返回其中序遍歷。例如 給定二叉樹 1,null,2,3 1 2 3返回 1,3,2 說明 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?題中說明了要求使用迭代法 使用乙個棧來儲存二叉樹節點,根據中序遍歷的規則,我們可以推算出這樣的規律 1.將當前非空節點入棧 2.如果左子節點...
LeetCode94 二叉樹中序遍歷
題目描述 給定乙個二叉樹,返回它的中序 遍歷。示例 輸入 1,null,2,3 1 2 3輸出 1,3,2 c 實現 遞迴實現 definition for a binary tree node.struct treenode class solution void helper treenode ...
LeetCode 94 二叉樹的中序遍歷
給定乙個二叉樹,返回它的中序 遍歷。示例 輸入 1,null,2,3 1 2 3輸出 1,3,2 高階 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?遞迴解法,先從根節點的左孩子中序遍歷,再訪問根節點,最後從根節點的右孩子中序遍歷。遞迴基是當節點為空時,返回。definition for a bin...