LeetCode257.二叉树的所有路径 思路:深度优先算法遍历二叉树,需要注意每次要将结果保存在一个string字符串内,最后将字符串尾插进vector容器。
/** * 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: void Binaryroad(TreeNode* root,vector<string>& road,string s){ s+=to_string(root->val); if(!root->left&&!root->right){ road.push_back(s); } if(root->left) Binaryroad(root->left,road,s+"->"); if(root->right) Binaryroad(root->right,road,s+"->"); } vector<string> binaryTreePaths(TreeNode* root) { vector<string> road; if(root==nullptr) return road; string s; Binaryroad(root,road,s); return road; } };