* Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ publicclass{ public List<String> ans = new ArrayList<String>();
public List<String> binaryTreePaths(TreeNode root){ List<Integer> list = new ArrayList<Integer>(); binaryTreePaths(root, list); return ans; }
publicvoidbinaryTreePaths(TreeNode root, List<Integer> list){ if (root == null) return; if (root.left == null && root.right == null) { list.add(root.val); int len = list.size(); StringBuilder builder = new StringBuilder(); for (int i = 0; i < len - 1; i++) { builder.append(list.get(i) + "->"); } builder.append(list.get(len - 1)); // System.out.println(sb.toString()); ans.add(builder.toString()); // sb.deleteCharAt(sb.length() - 1); return; } list.add(root.val); if (root.left != null) { binaryTreePaths(root.left, list); list.remove(list.size() - 1); }
近期评论