題目描述:
給定乙個二叉樹,返回它的中序 遍歷。
示例:
輸入: [1,null,2,3]1\
2/
3輸出: [1,3,2]
c++實現:
遞迴實現:
/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution
void helper(treenode* root,vector& vec)
};
非遞迴實現:
/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution
//當前節點p無左子節點,所以將該節點值存入輸出容器中,並出棧
p=sta.top();
res.push_back(p->val);
sta.pop();
//根據中序遍歷規則,接下來列印當前節點的右子樹
p=p->right;
}return res;
}};
LeetCode 94 中序遍歷二叉樹
傳送門 給定乙個二叉樹,返回其中序遍歷。例如 給定二叉樹 1,null,2,3 1 2 3返回 1,3,2 說明 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?題中說明了要求使用迭代法 使用乙個棧來儲存二叉樹節點,根據中序遍歷的規則,我們可以推算出這樣的規律 1.將當前非空節點入棧 2.如果左子節點...
LeetCode 94 二叉樹的中序遍歷
給定乙個二叉樹,返回它的中序 遍歷。示例 輸入 1,null,2,3 1 2 3輸出 1,3,2 高階 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?遞迴解法,先從根節點的左孩子中序遍歷,再訪問根節點,最後從根節點的右孩子中序遍歷。遞迴基是當節點為空時,返回。definition for a bin...
LeetCode(94) 二叉樹的中序遍歷
提交 class solution return arr 這題是用的c 因為它要用乙個陣列來儲存遍歷的數。用c太麻煩了。提交 class solution if s.empty true return arr 參考 演算法思想 根據中序遍歷的順序,對於任一結點,優先訪問其左孩子,而左孩子結點又可以看...