题目传送: https://leetcode.cn/problems/sum-root-to-leaf-numbers/
运行效率
代码如下:
public int sumNumbers(TreeNode root) {
int result=0;
List<String> helper = helper(root);
for(String str:helper){
int i = Integer.parseInt(str);
result+=i;
}
return result;
}
public List<String> helper(TreeNode root) {
List<String> result = new ArrayList<>();
//处理边界情况
//如果是叶子节点
if (root.left == null && root.right == null) {
result.add(root.val + "");
return result;
}
//如果左子树存在
if (root.left != null) {
List<String> left = helper(root.left);
for (String str : left) {
result.add(root.val + str);
}
}
//如果右子树存在
if(root.right!=null){
List<String> right = helper(root.right);
for (String str : right) {
result.add(root.val + str);
}
}
return result;
}