C++代码:
vector<string> binaryTreePaths(TreeNode* root) {
vector<string> ans;
if (!root) return ans;
vector<string> left = binaryTreePaths(root->left), right = binaryTreePaths(root->right);
ans.insert(ans.end(), left.begin(), left.end());
ans.insert(ans.end(), right.begin(), right.end());
if (!ans.size()) ans.push_back(to_string(root->val));
else {
for (string &s : ans) {
s = to_string(root->val) + "->" + s;
}
}
return ans;
}
题目如下:
Given a binary tree, return all root-to-leaf paths.
For example, given the following binary tree:
1 / \ 2 3 \ 5
All root-to-leaf paths are:
["1->2->5", "1->3"]
转载于:https://blog.51cto.com/yuzwei/1747333