257. Binary Tree Paths
Description
Given the root
of a binary tree, return all root-to-leaf paths in any order .
A leaf is a node with no children.
Example 1:
1 2
| Input: root = [1,2,3,null,5] Output: ["1->2->5","1->3"]
|
Example 2:
1 2
| Input: root = [1] Output: ["1"]
|
Constraints:
- The number of nodes in the tree is in the range
[1, 100]
.
-100 <= Node.val <= 100
Hints/Notes
Solution
Language: C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
class Solution { public: vector<string> res;
vector<string> binaryTreePaths(TreeNode* root) { traverse(root, ""); return res; }
void traverse(TreeNode* root, string path) { if (!root) { return; } path += to_string(root->val); bool node = true; if (root->left) { traverse(root->left, path + "->"); node = false; } if (root->right) { traverse(root->right, path + "->"); node = false; } if (node) { res.push_back(path); } } };
|