leetcode刷题记录
- 永远年轻 永远从零开始
- 已刷题
永远年轻 永远从零开始
已刷题
剑指 Offer 05. 替换空格
字符串是不可变序列 新建一个列表复制原来的内容 在需要修改处进行修改
剑指 Offer 06. 从尾到头打印链表
python返回逆序数组
剑指 Offer 09. 用两个栈实现队列
创建两个列表,A用于在尾部加入,B用于在头部删除。中间需要使用pop把A中的元素逆序存入B中。
剑指 Offer 20. 表示数值的字符串
有限状态自动机
class Solution(object):def isNumber(self, s):""":type s: str:rtype: bool"""state=[{' ':0,'s':1,'d':2,'.':4},{'.':4,'d':2},{'d':2,'.':3,'e':5,' ':8},{'d':3,' ':8,'e':5},{'d':3},{'d':7,'s':6},{'d':7},{' ':8,'d':7},{' ':8}]p=0for c in s:if c>='0' and c<='9':t='d'elif c in '+-':t='s'elif c in 'eE':t='e'elif c in '. ':t=celse:t='?'if t not in state[p]:return Falsep=state[p][t]if p in [2,3,7,8]:return Trueelse:return False
剑指 Offer 24. 反转链表
使用两个指针遍历列表,修改指针指向