Given a binary tree, return all root-to-leaf paths.
Note: A leaf is a node with no children.
Example:
Input: 1 / 2 3 5 Output: ["1->2->5", "1->3"] Explanation: All root-to-leaf paths are: 1->2->5, 1->3
https://blog.csdn.net/crazy1235/article/details/51474128
private List<string> list = new List<string>(); public IList<string> BinaryTreePaths(TreeNode root) { if (root == null) { return list; } else { Chuck(string.Empty, root); } return list; } private void Chuck(string str, TreeNode node) { if (node == null) { return; } if (str.Equals(string.Empty)) { str = $"{node.val}"; } else { str = $"{str}->{node.val}"; } if (node.left == null && node.right == null) { list.Add(str); } else { Chuck(str, node.left); Chuck(str, node.right); } }
Runtime: 264 ms, faster than 53.41% of C# online submissions for Binary Tree Paths.
Memory Usage: 30 MB, less than 24.53% of C# online submissions forBinary Tree Paths.