144. Binary Tree Preorder Traversal

来源:互联网 发布:qt助手是什么软件 编辑:程序博客网 时间:2024/06/07 15:22

Given a binary tree, return the preorder traversal of its nodes' values.

For example:
Given binary tree [1,null,2,3],

   1    \     2    /   3

return [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> results;        if(root==NULL) return results;    results.push_back(root->val);    if(root->right==NULL&&root->left==NULL) return results;    vector<int> lefts=preorderTraversal(root->left);    for (std::vector<int>::iterator i = lefts.begin(); i != lefts.end(); ++i)    {    results.push_back(*i);    }    vector<int> rights=preorderTraversal(root->right);    for (std::vector<int>::iterator i = rights.begin(); i != rights.end(); ++i)    {    results.push_back(*i);    }    return results;    }};


原创粉丝点击