第二天(栈)
创建时间: 2020/7/20 17:07
今天完成题目:1543,1631,1047,682
1543:两个栈实现队列
进队为栈A,进队操作直接压入A
出队为栈B,如果B不为空,直接出;如果A为空,说明队空;前面两个都不符合,则A倒入B。
1631:化栈为队
类似1543,但是增加了peek和empty函数。
peek是队列中返回队首
出现一个数组操作失误,s[:-1]和s[-1]两个不一样,前者是直到倒数第二个,后者是只取最后一个。(错)
有些时候通过while可以快速实现某一种特殊的for循环\
1047:重复删除重复的字符
每次字符放进之前和栈顶对比,相同则pop,不同则push\
682:棒球比赛
isdigit()
True:
Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
False: 汉字数字
Error: 无
isdecimal()
True: Unicode数字,,全角数字(双字节)
False: 罗马数字,汉字数字
Error: byte数字(单字节)
isnumeric()
True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
False: 无
Error: byte数字(单字节)\
判断字符负数只能自己写:(num.startswith('-') and num[1:] or
num).isdigit()
当遇到一系列连续的操作时,可以考虑使用栈的方法。