/**
* Definition for binary tree
* 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> ans;
while(root){
while(root -> left){
TreeNode *currNode = root->left;
while(currNode->right != NULL &&
currNode->right != root){
currNode = currNode -> right;
}
if(currNode -> right == NULL){
currNode -> right = root;
root = root -> left;
}else{
currNode -> right = NULL;
break;
}
}
ans.push_back(root->val);
root = root -> right;
}
return ans;
}
};
Leet Code Binary Tree Inorder Traversal(非递归且实现不用栈的空间复杂度为O(1)的实现)
最新推荐文章于 2024-09-03 22:33:53 发布
