LeetCode算法网站算法题
https://leetcode-cn.com/problems/binary-tree-paths/
class Solution { private: void findRoad(TreeNode*r,vector<string>&res,string s) { if(r==nullptr) return; s=s+to_string(r->val); if(r->left==nullptr&&r->right==nullptr)//如果是叶子节点 { res.push_back(s); return; } s=s+"->"; findRoad(r->left,res,s); findRoad(r->right,res,s); } public: vector<string> binaryTreePaths(TreeNode* root) { vector<string> res; string s; findRoad(root,res,s); return res; } };这一道题主要思路还是回溯算法,但是由于字符串中“->”字符的存在,所以可能不能使用引用来修饰,需要使用按值传递来完成回溯的过程。其次是to_string可以直接把整型转换为字符串。