Skip to content

Commit c31276a

Browse files
🌴 Day 9
1 parent e51f4c7 commit c31276a

File tree

2 files changed

+34
-3
lines changed

2 files changed

+34
-3
lines changed

README.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@
99
2. [Insertion Sort List](https://leetcode.com/explore/challenge/card/november-leetcoding-challenge/564/week-1-november-1st-november-7th/3517/) ➡️ [CPP Solution](Week1/insertionSortList.cpp)
1010
3. [Consecutive Characters](https://leetcode.com/explore/challenge/card/november-leetcoding-challenge/564/week-1-november-1st-november-7th/3518/) ➡️ [CPP Solution](Week1/maxPower.cpp)
1111
4. [Minimum Height Trees](https://leetcode.com/explore/challenge/card/november-leetcoding-challenge/564/week-1-november-1st-november-7th/3519/) ➡️ [CPP Solution](Week1/findMinHeightTrees.cpp)
12-
5. [Minimum Cost to Move Chips to The Same Position](https://leetcode.com/explore/challenge/card/november-leetcoding-challenge/564/week-1-november-1st-november-7th/3519/) ➡️ [CPP Solution](Week1/minCostToMoveChips.cpp)
13-
6. [Find the Smallest Divisor Given a Threshold](https://leetcode.com/explore/challenge/card/november-leetcoding-challenge/564/week-1-november-1st-november-7th/3520/) ➡️ [CPP Solution](Week1/smallestDivisor.cpp)
14-
7. [Add Two Numbers II](https://leetcode.com/explore/challenge/card/november-leetcoding-challenge/564/week-1-november-1st-november-7th/3521/) ➡️ [CPP Solution](Week1/addTwoNumbers.cpp)
12+
5. [Minimum Cost to Move Chips to The Same Position](https://leetcode.com/explore/challenge/card/november-leetcoding-challenge/564/week-1-november-1st-november-7th/3520/) ➡️ [CPP Solution](Week1/minCostToMoveChips.cpp)
13+
6. [Find the Smallest Divisor Given a Threshold](https://leetcode.com/explore/challenge/card/november-leetcoding-challenge/564/week-1-november-1st-november-7th/3521/) ➡️ [CPP Solution](Week1/smallestDivisor.cpp)
14+
7. [Add Two Numbers II](https://leetcode.com/explore/challenge/card/november-leetcoding-challenge/564/week-1-november-1st-november-7th/3522/) ➡️ [CPP Solution](Week1/addTwoNumbers.cpp)
1515

1616
## Week 2 🚧
1717
1. [Binary Tree Tilt](https://leetcode.com/explore/challenge/card/november-leetcoding-challenge/565/week-2-november-8th-november-14th/3524/) ➡️ [CPP Solution](Week2/findTilt.cpp)
18+
2. [Maximum Difference Between Node and Ancestor](https://leetcode.com/explore/challenge/card/november-leetcoding-challenge/565/week-2-november-8th-november-14th/3525/) ➡️ [CPP Solution](Week2/maxAncestorDiff.cpp)
1819

1920
## Week 3 🚧
2021
Coming soon...

Week2/maxAncestorDiff.cpp

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* struct TreeNode {
4+
* int val;
5+
* TreeNode *left;
6+
* TreeNode *right;
7+
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
8+
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
9+
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
10+
* };
11+
*/
12+
class Solution {
13+
public:
14+
int result = 0;
15+
int maxAncestorDiff(TreeNode* root) {
16+
dfs(root, root->val, root->val);
17+
return result;
18+
}
19+
20+
void dfs(TreeNode* root, int currMin, int currMax) {
21+
if(root == NULL) return;
22+
23+
result = max(result, max(abs(root->val - currMin), abs(root->val - currMax)));
24+
currMin = min(currMin, root->val);
25+
currMax = max(currMax, root->val);
26+
27+
dfs(root->left, currMin, currMax);
28+
dfs(root->right, currMin, currMax);
29+
}
30+
};

0 commit comments

Comments
 (0)