LeetCode 94. Binary Tree Inorder Traversal
题目
/** * 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: TreeNode* s[100005]; vector<int> inorderTraversal(TreeNode* root) { TreeNode* term = root; vector<int> ans; if(root==NULL) return ans; int pos=0; s[pos++] = term; while(pos!=0) { TreeNode* temp = s[pos-1]; TreeNode* temp2 = s[pos-1]; if(temp->left!=NULL&&temp->left->val!=-99999999) { s[pos++]=temp->left; continue; } ans.push_back(s[pos-1]->val); pos--; temp2->val=-99999999; if(temp->right!=NULL&&temp->right->val!=-99999999) { s[pos++]=temp->right; continue; } } return ans; } };