题解 | #求二叉树的前序遍历#
求二叉树的前序遍历
http://www.nowcoder.com/practice/501fb3ca49bb4474bf5fa87274e884b4
题目描述:求给定的二叉树的前序遍历。
例如:给定的二叉树为{1,#,2,3},返回:[1,2,3].
示例1
输入:{1,#,2,3}
返回值:[1,2,3]
思路:二叉树的前序遍历,就是先根再左再右,递归思想十分简单直接。具体代码如下:
/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ class Solution { public: /** * * @param root TreeNode类 * @return int整型vector */ vector<int> res; void prebianli(TreeNode *root) { if(root!=NULL) { res.push_back(root->val); prebianli(root->left); prebianli(root->right); } } vector<int> preorderTraversal(TreeNode* root) { // write code here prebianli(root); return res; } };