[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/feixiangcode/algorithm/master/Week_01/id_13/LeetCode_687_13.java [Back]  [Original]

package leetCode;

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 * int val;
 * TreeNode left;
 * TreeNode right;
 * TreeNode(int x) { val = x; }
 * }
 */

public class LeetCode_687_13 {
    private int pathInt;

    public int longestUnivaluePath(TreeNode root) {
        pathInt = 0;
        _pathLength(root);
        return pathInt;
    }

    public int _pathLength(TreeNode node) {
        if (node == null) return 0;
        int left = _pathLength(node.left);
        int right = _pathLength(node.right);
        int pathLeft = 0, pathRight = 0;
        if (node.left != null && node.left.val == node.val) {
            pathLeft += left + 1;
        }
        if (node.right != null && node.right.val == node.val) {
            pathRight += right + 1;
        }
        pathInt = Math.max(pathInt, pathLeft + pathRight);
        return Math.max(pathLeft, pathRight);
    }

    public class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;

        TreeNode(int x) {
            val = x;
        }
    }
}

Web Proxy Viewer  |  New URL  |  Original Page