auto-generated entry for Binary Tree Tilt. the solution files are available below.
solution files
- C++
binary-tree-tilt/synced-solution.cpp - Python
binary-tree-tilt/synced-solution.py - TypeScript
binary-tree-tilt/synced-solution.ts
Collected C++, Python, TypeScript solutions for binary tree tilt. Add a dedicated write-up later if you want deeper notes.
auto-generated entry for Binary Tree Tilt. the solution files are available below.
binary-tree-tilt/synced-solution.cppbinary-tree-tilt/synced-solution.pybinary-tree-tilt/synced-solution.tsclass Solution:
def findTilt(self, root: Optional[TreeNode]) -> int:
total_tilt = class="syntax-number">0
def subtree_sum(node):
nonlocal total_tilt
if not node:
return class="syntax-number">0
left = subtree_sum(node.left)
right = subtree_sum(node.right)
total_tilt += abs(left - right)
return node.val + left + right
subtree_sum(root)
return total_tilt
class Solution {
public:
int findTilt(TreeNode* root) {
totalTilt = class="syntax-number">0;
subtreeSum(root);
return totalTilt;
}
private:
int totalTilt;
int subtreeSum(TreeNode* node) {
if (!node) {
return class="syntax-number">0;
}
int left = subtreeSum(node->left);
int right = subtreeSum(node->right);
totalTilt += abs(left - right);
return node->val + left + right;
}
};
function findTilt(root: TreeNode | null): number {
let totalTilt = class="syntax-number">0;
const subtreeSum = (node: TreeNode | null): number => {
if (!node) {
return class="syntax-number">0;
}
const left = subtreeSum(node.left);
const right = subtreeSum(node.right);
totalTilt += Math.abs(left - right);
return node.val + left + right;
};
subtreeSum(root);
return totalTilt;
}