LeetCode 144. Binary Tree Preorder Traversal

来源:互联网 发布:mac app store无法下载 编辑:程序博客网 时间:2024/06/09 17:18

描述

给出一棵二叉树,前序遍历该树

解决

利用栈来进行前序遍历,即可实现迭代


/** * 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) {        stack<TreeNode*> tmp;        vector<int> res;        while (root || !tmp.empty())        {            if (root)            {                res.push_back(root -> val);                tmp.push(root);                root = root -> left;            }            else            {                root = tmp.top();                tmp.pop();                root = root -> right;            }        }        return res;    }};
0 0
原创粉丝点击