LeetCode 257: Binary Tree Paths
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"]
Credits:
Special thanks to @ jianchao. li. fighter for adding this problem and creating all test cases.
// Simple binary tree traversal. The previous path is recorded during the traversal process. Once the path is traversed to the leaf node, the path is added to the result. Class Solution {public: vector
BinaryTreePaths (TreeNode * root) {vector
Res; if (root = NULL) return res; binaryTreePaths (res, root, to_string (root-> val); return res;} void binaryTreePaths (vector
& Result, TreeNode * node, string s) {if (node-> left = NULL & node-> right = NULL) {result. push_back (s); return;} if (node-> left) binaryTreePaths (result, node-> left, s + "->" + to_string (node-> left-> val); if (node-> right) binaryTreePaths (result, node-> right, s + "->" + to_string (node-> right-> val ));}};