【LeetCode】144. Binary Tree Preorder Traversal
来源:互联网 发布:linux系统加固 编辑:程序博客网 时间:2024/05/22 11:13
Given a binary tree, return the preorder traversal of its nodes' values.
For example:
Given binary tree {1,#,2,3}
,
1 \ 2 / 3
return [1,2,3]
.
【思路】
1)如果根节点非空,将根节点加入到栈中。
2)如果栈不空,弹出出栈顶节点,将其值加加入到数组中。
如果该节点的右子树不为空,将右子节点加入栈中。 如果左子节点不为空,将左子节点加入栈中。
3)重复第二步,直到栈空。
/** * 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> result; if(root==NULL) return result; stack<TreeNode*> stk; TreeNode* tmp = root; if(root!=NULL) { stk.push(root); } while(!stk.empty()) { tmp = stk.top(); result.push_back(tmp->val); stk.pop(); if(tmp->right) { stk.push(tmp->right); } if(tmp->left) { stk.push(tmp->left); } } return result; }};
0 0
- [LeetCode]144.Binary Tree Preorder Traversal
- LeetCode 144. Binary Tree Preorder Traversal
- [leetcode] 144.Binary Tree Preorder Traversal
- 【LeetCode】144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal LeetCode
- LeetCode 144. Binary Tree Preorder Traversal
- [LeetCode]144. Binary Tree Preorder Traversal
- 【LeetCode】144. Binary Tree Preorder Traversal
- leetcode:144. Binary Tree Preorder Traversal
- leetcode 144. Binary Tree Preorder Traversal
- [LeetCode OJ]144.Binary Tree Preorder Traversal
- LeetCode *** 144. Binary Tree Preorder Traversal
- LeetCode 144. Binary Tree Preorder Traversal
- LeetCode-144.Binary Tree Preorder Traversal
- LeetCode 144. Binary Tree Preorder Traversal
- leetcode 144. Binary Tree Preorder Traversal
- leetcode 144. Binary Tree Preorder Traversal
- [leetcode] 144. Binary Tree Preorder Traversal
- Android屏幕适配大法
- Java类的反射机制
- js 增加控件
- eclipse中Debug简单记忆
- 分享一个很炫的Periscope点赞效果
- 【LeetCode】144. Binary Tree Preorder Traversal
- 如何在hive的shell中使用hadoop shell 和linux的命令
- IIS站点访问多个资源服务器的解决方案
- 共享锁与排他锁理解
- C++中STL与MFC的关系
- Sina SSO 登陆过程分析 【单点登录分析】
- HTML5新控件 - email类型输入框(电子邮件地址)
- oracle用户创建及权限设置
- Linux的Console快捷键