File tree 4 files changed +20
-24
lines changed
4 files changed +20
-24
lines changed Original file line number Diff line number Diff line change @@ -42,10 +42,10 @@ python problem.py https://www.lintcode.com/problem/92 -l cpp
42
42
| [ --] | [ grind75.md] ( ./list/grind75.md ) | 64/75 | - |
43
43
| [ --] | [ leetcode-lee215.md] ( ./list/leetcode-lee215.md ) | 2/34 | - |
44
44
| [ --] | [ neetcode150.md] ( ./list/neetcode150.md ) | 118/150 | - |
45
+ | [ ✅] | [ 9c-advanced.md] ( ./list/9c-advanced.md ) | 74/91 | 17 vips |
45
46
| [ ✅] | [ 9c-dp.md] ( ./list/9c-dp.md ) | 42/45 | 3 vips |
46
47
| [ ✅] | [ geekbang.md] ( ./list/geekbang.md ) | 55/55 | - |
47
48
| [ ✅] | [ leetcode101.md] ( ./list/leetcode101.md ) | 183/184 | 1 vip |
48
- | [ 🔲] | [ 9c-advanced.md] ( ./list/9c-advanced.md ) | 73/91 | 17 vips |
49
49
| [ 🔲] | [ leetcode-contest.md] ( ./list/leetcode-contest.md ) | 10/40 | - |
50
50
| [ 🔲] | [ leetcode-google.md] ( ./list/leetcode-google.md ) | 0/7 | - |
51
51
Original file line number Diff line number Diff line change 60
60
* };
61
61
*/
62
62
class BSTIterator {
63
- private:
64
- TreeNode* node;
65
- stack<TreeNode*> st;
66
63
public:
64
+ TreeNode *cur;
65
+ stack<TreeNode *> st;
67
66
BSTIterator (TreeNode* root) {
68
- node = root;
67
+ cur = root;
69
68
}
70
69
71
70
int next () {
72
- while (node ) {
73
- st.push (node );
74
- node = node ->left ;
71
+ while (cur ) {
72
+ st.push (cur );
73
+ cur = cur ->left ;
75
74
}
76
75
77
- node = st.top ();
76
+ cur = st.top ();
78
77
st.pop ();
79
- int res = node ->val ;
80
- node = node ->right ;
78
+ int res = cur ->val ;
79
+ cur = cur ->right ;
81
80
return res;
82
81
}
83
82
84
83
bool hasNext () {
85
- return (st. size () > 0 || node );
84
+ return (cur || !st. empty () );
86
85
}
87
86
};
88
87
Original file line number Diff line number Diff line change 57
57
class BSTIterator :
58
58
59
59
def __init__ (self , root : Optional [TreeNode ]):
60
- self .node = root
60
+ self .cur = root
61
61
self .stack = []
62
62
63
63
def next (self ) -> int :
64
- while (self .node ):
65
- self .stack .append (self .node )
66
- self .node = self .node .left
67
-
68
- self .node = self .stack .pop ()
69
- res = self .node .val
70
- self .node = self .node .right
64
+ while (self .cur ):
65
+ self .stack .append (self .cur )
66
+ self .cur = self .cur .left
71
67
68
+ self .cur = self .stack .pop ()
69
+ res = self .cur .val
70
+ self .cur = self .cur .right
72
71
return res
73
72
74
73
def hasNext (self ) -> bool :
75
- return len (self .stack ) > 0 or self .node is not None
76
-
74
+ return (self .cur is not None or len (self .stack ) > 0 )
77
75
78
76
# Your BSTIterator object will be instantiated and called as such:
79
77
# obj = BSTIterator(root)
Original file line number Diff line number Diff line change 107
107
88 . https://www.lintcode.com/problem/flatten-list/
108
108
89 . https://leetcode.com/problems/flatten-nested-list-iterator/
109
109
90 . https://www.lintcode.com/problem/flatten-2d-vector/
110
-
111
- - https://leetcode.com/problems/binary-search-tree-iterator/
110
+ 91 . https://leetcode.com/problems/binary-search-tree-iterator/
You can’t perform that action at this time.
0 commit comments