144.Binary Tree Preorder Traversal
2017-03-25 22:07
267 查看
/** * 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: vector<int> preorderTraversal(TreeNode* root) { vector<int> v; TreeNode *temp = root; if (!root) return v; stack<TreeNode *> s; s.push(root); while (!s.empty()) { temp = s.top(); v.push_back(temp->val); s.pop(); if (temp->right) s.push(temp->right); if (temp->left) s.push(temp->left); } return v; } };
利用栈操作,每次先输出根结点,然后按照先右后左的顺序进栈,则左结点必然在栈顶,
每次必然是左结点先出栈,依次循环后,
当最左部节点输出后,开始输出栈顶的右结点(最左部的右结点,次后入栈所以在栈顶),继续迭代操作。
相关文章推荐
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144.Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 二叉树遍历144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal 二叉树的前序遍历
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal LeetCode
- 144. Binary Tree Preorder Traversal