Binary Tree Tilt
Thoughts
Code
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
int tilt = 0;
private int sumTree(TreeNode node) {
if (node == null) {
return 0;
}
int left = sumTree(node.left);
int right = sumTree(node.right);
int sum = node.val + left;
sum += right;
tilt += Math.abs(left - right);
return sum;
}
public int findTilt(TreeNode root) {
sumTree(root);
return tilt;
}
}Analysis
Ver.2
Ver.3
Last updated