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"] 用backtracking的方法。与113题很类似。需要注意其实root元素
public IList<string> BinaryTreePaths(TreeNode root) { IList<string> res = new List<string>(); BackTracking(root, "",res,root); return res; } public void BackTracking(TreeNode root, string s, IList<string> res,TreeNode head) { if(root != null) { if(root == head) s += root.val; else s += "->" + root.val; if(root.left == null && root.right == null) { res.Add(s); } else { BackTracking(root.left,s,res,head); BackTracking(root.right,s,res,head); } } }
时间: 2024-10-27 19:30:38