题目
题目来源 : LeetCode
中序遍历二叉树,非递归实现
实现
vector<int> inorderTraversal(TreeNode* root) {
stack<TreeNode*> s;
vector<int> ret;
if(root == NULL){
return ret;
}
TreeNode* cur = root;
while(s.empty() != 1 || cur){
while(cur){
s.push(cur);
cur = cur->left;
}
TreeNode* des = s.top();
ret.push_back(des->val);
cur = des->right;
s.pop();
}
return ret;
}