File tree Expand file tree Collapse file tree 4 files changed +93
-2
lines changed
Expand file tree Collapse file tree 4 files changed +93
-2
lines changed Original file line number Diff line number Diff line change 1+ # Definition for a binary tree node.
2+ from typing import Optional
3+
4+
5+ class TreeNode :
6+ def __init__ (self , val = 0 , left = None , right = None ):
7+ self .val = val
8+ self .left = left
9+ self .right = right
10+
11+
12+ class Solution :
13+ def getMinimumDifference (self , root : Optional [TreeNode ]) -> int :
14+ inres = []
15+
16+ def inorder (node ):
17+ if not node :
18+ return
19+ inorder (node .left )
20+ inres .append (node .val )
21+ inorder (node .right )
22+
23+ inorder (root )
24+ inres [::- 1 ]
25+ res = inres [1 ] - inres [0 ]
26+ for i in range (1 , len (inres )):
27+ res = min (inres [i ] - inres [i - 1 ], res )
28+ return res
Original file line number Diff line number Diff line change 1+ # Definition for a binary tree node.
2+ from collections import deque
3+ from typing import List , Optional
4+
5+
6+ class TreeNode :
7+ def __init__ (self , val = 0 , left = None , right = None ):
8+ self .val = val
9+ self .left = left
10+ self .right = right
11+
12+
13+ class Solution :
14+ def averageOfLevels (self , root : Optional [TreeNode ]) -> List [float ]:
15+ res = []
16+
17+ q = deque ()
18+ q .append (root )
19+ while q :
20+ summ = 0
21+ length = len (q )
22+ for i in range (length ):
23+ node = q .popleft ()
24+ summ += node .val
25+ if node .right :
26+ q .append (node .right )
27+ if node .left :
28+ q .append (node .left )
29+ res .append (summ / length )
30+ return res
Original file line number Diff line number Diff line change 1+ # Definition for a binary tree node.
2+ from collections import deque
3+ from typing import List , Optional
4+
5+
6+ class TreeNode :
7+ def __init__ (self , val = 0 , left = None , right = None ):
8+ self .val = val
9+ self .left = left
10+ self .right = right
11+
12+
13+ class Solution :
14+ def zigzagLevelOrder (self , root : Optional [TreeNode ]) -> List [List [int ]]:
15+ if not root :
16+ return []
17+ directon = 1
18+ res = []
19+ q = deque ()
20+ q .append (root )
21+ while q :
22+ curr = []
23+ length = len (q )
24+ for i in range (length ):
25+ node = q .popleft ()
26+ if node .left :
27+ q .append (node .left )
28+ if node .right :
29+ q .append (node .right )
30+ curr .append (node .val )
31+ res .append (curr [::directon ])
32+ directon *= - 1
33+ return res
Original file line number Diff line number Diff line change @@ -17,11 +17,11 @@ This repository contains my solutions to various LeetCode problems. Each solutio
1717
1818### Easy Problems
1919
20- - ** Total Solved:** [ 50 ]
20+ - ** Total Solved:** [ 52 ]
2121
2222### Medium Problems
2323
24- - ** Total Solved:** [ 128 ]
24+ - ** Total Solved:** [ 129 ]
2525
2626### Hard Problems
2727
You can’t perform that action at this time.
0 commit comments