Amazon Interview Question
SDE-2sCountry: United States
Interview Type: In-Person
class Stack:
def __init__(self):
self.elements = []
def push(self, elem):
self.elements.append(elem)
def pop(self):
return self.elements.pop()
def top(self):
if self.elements:
return self.elements[-1]
else:
print "stack empty"
def insert_indorder(self, elem):
if not self.elements or self.top() < elem:
self.push(elem)
else:
top_elem = self.pop()
self.insert_indorder(elem)
self.push(top_elem)
def sort_stack(self):
if not self.elements:
return
top_elem = self.pop()
self.sort_stack()
self.insert_indorder(top_elem)
def print_stack(self):
for i in self.elements:
print i,
def main():
stack = Stack()
stack.push(3)
stack.push(8)
stack.push(6)
stack.push(1)
stack.push(10)
stack.push(9)
stack.push(0)
stack.sort_stack()
stack.print_stack()
main()
- Goutham March 08, 2017