难度:Easy
给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明: 叶子节点是指没有子节点的节点。
示例:输入:1/ \2 3\5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->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<string> binaryTreePaths(TreeNode* root) {class ALL_PATH {public:void path(TreeNode* root, string s, vector<string> &res){if(!root->left && !root->right)res.push_back(s+to_string(root->val));if(root->left)path(root->left, s+to_string(root->val)+"->", res);if(root->right)path(root->right,s+to_string(root->val)+"->", res);}};vector<string> res;if(root){ALL_PATH ap;ap.path(root,"",res);}return res;}};