最长同值路径
作者:互联网
题目
代码:
class Solution {
//记录树遍历过程中的最大值
int ans = 0;
public int longestUnivaluePath(TreeNode root) {
arrowLength(root);
return ans;
}
//表示与node节点相同的最大长度
public int arrowLength(TreeNode node) {
if (node == null) return 0;
int left = arrowLength(node.left);
int right = arrowLength(node.right);
int arrowLeft = 0, arrowRight = 0;
if (node.left != null && node.left.val == node.val) {
arrowLeft = left + 1;
}
if (node.right != null && node.right.val == node.val) {
arrowRight = right + 1;
}
ans = Math.max(ans, arrowLeft + arrowRight);
return Math.max(arrowLeft, arrowRight);
}
}
标签:node,arrowLength,right,arrowRight,int,路径,同值,最长,left 来源: https://blog.csdn.net/F13253524870/article/details/117872801