其他分享
首页 > 其他分享> > 最长同值路径

最长同值路径

作者:互联网

题目

在这里插入图片描述

代码:

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