public static IList <string> BinaryTreePaths(LeetCode257TreeNode root) { var paths = new List <string> (); PreOrder(root, "", paths); return(paths); }
private static void PreOrder(LeetCode257TreeNode root, string path, List <string> paths) { if (root == null) { return; } path += root.val.ToString(); if (root.IsLeaftNode()) { paths.Add(path); } else { path += "->"; PreOrder(root.left, path, paths); PreOrder(root.right, path, paths); } }
public LeetCode257TreeNode(int val = 0, LeetCode257TreeNode left = null, LeetCode257TreeNode right = null) { this.val = val; this.left = left; this.right = right; }