mirror of
https://github.com/autistic-symposium/master-algorithms-py.git
synced 2025-04-29 12:16:14 -04:00
32 lines
680 B
Python
32 lines
680 B
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
# author: bt3gl
|
|
|
|
class Node:
|
|
def __init__(self, left=None, right=None):
|
|
self.val = val
|
|
self.left = left
|
|
self.right = right
|
|
|
|
|
|
class InorderIterator:
|
|
|
|
def __init__(self, root):
|
|
self.stack = []
|
|
self.left_inorder(root)
|
|
|
|
def left_inorder(self, root):
|
|
while root:
|
|
self.stack.append(root)
|
|
root = root.left
|
|
|
|
def next(self) -> int:
|
|
top_node = self.stack.pop()
|
|
if top_node.right:
|
|
self.left_inorder(top_node.right)
|
|
return top_node.val
|
|
|
|
def has_next(self) -> bool:
|
|
return len(self.stack) > 0
|
|
|