送分题,转字符串,再加个循环判定条件就行了,好在没有一些搞健壮的例子。
Go版本:
import (
"strconv"
)
func addDigits(num int) int {
// 转字符串
// res:=0;
for num>=10{
str:=strconv.Itoa(num)
num=0;
for i:=0;i<len(str);i++{
num+=int(str[i])-48;
// fmt.Println(int(str[i]))
}
}
return num;
}
DFS
判断节点值是否大于0
java版本:
class Solution {
int maxDFS=Integer.MIN_VALUE;
public int maxPathSum(TreeNode root) {
if (root==null){
return 0;
}
DFS(root);
return maxDFS;
}
public int DFS(TreeNode root){
if(root==null){
return 0;
}
int left=Math.max(0,DFS(root.left));
int right=Math.max(0,DFS(root.right));
maxDFS=Math.max(maxDFS,left+right+root.val);
return Math.max(0,root.val+Math.max(left,right));
}
}
网友评论