leetcode学习整理
2019-10-11 本文已影响0人
赵小闹闹
1.20 有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
class Solution:
def isValid(self,s):
stack = []
map = {
"{":"}","[":"]","(":")"
}
for x in s:
if x in map:
stack.append(map[x])
else:
if len(stack)==0:
return False
else:
top_element=stack.pop()
if x==top_element:
continue
else:
return False
return len(stack) == 0
知识点,堆栈是特殊的list.从尾部进,从尾部出,具有先进后出的属性。
stack = []
添加,stack.append()
取出最后一位,stack.pop()
2.26
知识点,循环写法
for fast in range(1, len(nums)):
3.二维数组,列表,元祖的行和列的查法
如 A=((1, 1, 1), (1, 1, 1),(1, 1, 1),(0, 0, 0))
或者A=[[1,2,3],[2,3,4],[4,4,5],[3,4,2]]
len(A)#查行=4
len(A[0])#查列=3
4.return
程序运行到所遇到的第一个return即返回(退出def块),不会再运行第二个return。
5.字符串常见操作
- find
查找字符串mystr中是否含有字符串str
mystr.find(str) - count
查找字符串mystr中字符串str出现的次数
mystr.count(str) - replace
把 mystr 中的 str1 替换成 str2
mystr.replace(str1,str2) - capitalize
把字符串的第一个字符大写
mystr.capitailize() - startswith/endswith
检查字符串mystr是否是以 str 开头/结尾
mystr.startswith(str)
mystr.endswith(str) - 换 mystr 中所有大写字符为小写/所有小写转换为大写
mystr.lower()
mystr.upper()
6.列表常见操作
- list添加元素
li.append("new")
li.insert(2, "new") - 搜索元素所在位置
li.index("example") - 删除元素
li.remove("z") #删除第一次出现的元素
li.pop() # pop 会做两件事: 删除 list 的最后一个元素, 然后返回删除元素的值。