思路: 树的中序遍历,非递归解法。
code:
class Solution {
public:
vector<int> inorderTraversal(TreeNode *root) {
vector<int> ret;
if(root != NULL){
stack<TreeNode *> s;
TreeNode * p = root;
s.push(root);
while(!s.empty()){
while(p->left != NULL){
p = p->left;
s.push(p);
}
TreeNode *t = s.top();
ret.push_back(t->val);
s.pop();
if(t->right != NULL){
p = t->right;
s.push(p);
}
}
}
return ret;
}
};