首页 > 代码库 > leetcode - [7]Binary Tree Preorder Traversal
leetcode - [7]Binary Tree Preorder Traversal
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 #include <iostream> 2 #include <vector> 3 #include <stack> 4 using namespace std; 5 6 struct TreeNode { 7 int val; 8 TreeNode *left; 9 TreeNode *right;10 TreeNode(int x): val(x), left(NULL), right(NULL) {}11 };12 13 class Solution {14 public:15 vector<int> preorderTraversal(TreeNode *root) {16 vector<int> res;17 stack<TreeNode*> s;18 if (!root) {19 return res;20 }21 22 s.push(root);23 while(!s.empty()) {24 TreeNode *p = s.top(); s.pop();25 res.push_back(p->val);26 if (p->right) {27 s.push(p->right);28 }29 if (p->left) {30 s.push(p->left);31 }32 }33 return res; 34 }35 };36 37 int main() {38 return 0; 39 }
leetcode - [7]Binary Tree Preorder Traversal
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。