【LeetCode】94. 二叉樹的中序遍歷
阿新 • • 發佈:2018-12-15
給定一個二叉樹,返回它的中序 遍歷。
示例:
輸入: [1,null,2,3]
1
\
2
/
3
輸出: [1,3,2]
進階: 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<int> inorderTraversal(TreeNode* root) { vector<int>res; stack<TreeNode *>s; TreeNode * cur=root; while(cur||!s.empty()) { while(cur) { s.push(cur); cur = cur->left; } if(!s.empty()) { cur = s.top(); s.pop(); res.push_back(cur->val); cur = cur->right; } } return res; } };