二叉树的基础操作:二叉树的先序遍历(详细请看数据结构和算法,任意本书都有介绍),即根,左子树,右子树,实现方法中还有用栈实现的,这里不介绍了
1 /** 2 * Definition for binary tree 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8 * }; 9 */ 10 class Solution { 11 public: 12 void dfs(vector<int> &ans,TreeNode *root){//二叉树的先序遍历 13 if(!root){ 14 return; 15 } 16 ans.push_back(root->val); 17 dfs(ans,root->left); 18 dfs(ans,root->right); 19 } 20 vector<int> preorderTraversal(TreeNode *root) { 21 vector<int> ans; 22 dfs(ans,root); 23 return ans; 24 } 25 };