Leet Code Binary Tree Preorder Traversal(非递归且实现不用栈的空间复杂度为O(1)的实现)
2014-12-15 07:18
429 查看
class Solution { public: vector<int> preorderTraversal(TreeNode *root) { vector<int> ans; TreeNode *currNode; while(root){ while(root -> left && root -> right){ currNode = root->left; while(currNode->right != NULL && currNode->right != root){ currNode = currNode -> right; } if(currNode -> right == NULL){ currNode -> right = root; break; }else{ currNode -> right = NULL; root = root -> right; } } ans.push_back(root->val); root = root->left? root->left : root -> right; } return ans; } };
相关文章推荐
- Leet Code Binary Tree Inorder Traversal(非递归且实现不用栈的空间复杂度为O(1)的实现)
- Binary Tree Preorder Traversal (非递归实现)
- leecode 解题总结:105. Construct Binary Tree from Preorder and Inorder Traversal
- [LeetCode] Binary Tree Preorder Traversal [递归版]
- [leetcode] Binary Tree Preorder Traversal 非递归先序遍历
- LeetCode:Binary Tree Preorder Traversal(非递归方法前序遍历二叉树)
- 【Leetcode】Binary Tree Preorder Traversal (Tree Traversal) (转自Code_Ganker)
- CODE 28: Construct Binary Tree from Preorder and Inorder Traversal
- Leetcode OJ平台上的Binary Tree Preorder Traversal题目用java ArrayDeque实现
- ****(leetcode) Binary Tree Postorder Traversal (tree后序遍历非递归实现)
- 【LeetCode-面试算法经典-Java实现】【105-Construct Binary Tree from Preorder and Inorder Traversal(构造二叉树)】
- LintCode Binary Tree Inorder Traversal 二叉树的中序遍历(非递归)
- leetcode之Binary Tree Preorder Traversal (前序),中序,后续。非递归,递归
- CODE 141: Binary Tree Preorder Traversal
- 【LeetCode】Binary Tree Preorder Traversal 二叉树前序遍历递归以及非递归算法
- LeetCode Binary Tree Postorder Traversal(二叉树的后序遍历 非递归实现)
- Binary Tree Inorder Traversal-非递归实现中序遍历二叉树
- Binary Tree Preorder Traversal 二叉树的先序遍历,使用堆栈,非递归
- 【LeetCode-面试算法经典-Java实现】【144-Binary Tree Preorder Traversal(二叉树非递归前序遍历)】
- LeetCode-Construct Binary Tree from Preorder and Inorder Traversal-前序中序恢复二叉树-递归