232. 用栈实现队列
代码:
class MyQueue(object):
def __init__(self):
self.arr1 = []
self.arr2 = []
def push(self, x):
"""
:type x: int
:rtype: None
"""
self.arr1.append(x)
def pop(self):
"""
:rtype: int
"""
if len(self.arr2)>0:
return self.arr2.pop()
while len(self.arr1)>0:
self.arr2.append(self.arr1.pop())
return self.arr2.pop()
def peek(self):
"""
:rtype: int
"""
if len(self.arr2)>0:
return self.arr2[len(self.arr2)-1]
while len(self.arr1)>0:
self.arr2.append(self.arr1.pop())
return self.arr2[len(self.arr2)-1]
def empty(self):
"""
:rtype: bool
"""
if len(self.arr1)==0 and len(self.arr2)==0:
return True
return False
# Your MyQueue object will be instantiated and called as such:
# obj = MyQueue()
# obj.push(x)
# param_2 = obj.pop()
# param_3 = obj.peek()
# param_4 = obj.empty()
225.用队列实现栈
代码:
class MyStack(object):
def __init__(self):
self.arr = []
self.i = -1
def push(self, x):
"""
:type x: int
:rtype: None
"""
self.arr.append(x)
self.i+=1
def pop(self):
"""
:rtype: int
"""
while self.i>0:
self.arr.append(self.arr.pop(0))
self.i-=1
t = self.arr.pop(0)
if len(self.arr)==0:
self.i=-1
else:
self.i = len(self.arr)-1
return t
def top(self):
"""
:rtype: int
"""
return self.arr[self.i]
def empty(self):
"""
:rtype: bool
"""
if len(self.arr)==0:
return True
return False
20. 有效的括号
代码:
class Solution(object):
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
str = list(s)
stack = []
for i in str:
if len(stack)==0:
stack.append(i)
else:
if i==')' and stack[len(stack)-1]== '(':
stack.pop()
elif i== '}'and stack[len(stack)-1]=='{':
stack.pop()
elif i== ']'and stack[len(stack)-1]=='[':
stack.pop()
else:
stack.append(i)
if len(stack)==0:
return True
return False
1047. 删除字符串中的所有相邻重复项
代码:
class Solution(object):
def removeDuplicates(self, s):
"""
:type s: str
:rtype: str
"""
my_list = []
is_delete=True
str = list(s)
while is_delete:
is_delete=False
for i in str:
if len(my_list)==0:
my_list.append(i)
else:
if i==my_list[len(my_list)-1]:
my_list.pop()
is_delete=True
continue
else:
my_list.append(i)
str = my_list
my_list=[]
return ''.join(str)