写在前面
本文档用于记载LeetCode中“图解算法数据结构”中的学习过程与分析思路,以面对Offer中各类数据结构考题,于2022年2月8日开始更新。(力扣)
章节1:数据结构
05. 替换空格
-
python中replace函数的应用
str.replace(old, new[, max])
-
old -- 将被替换的子字符串。
-
new -- 新字符串,用于替换old子字符串。
-
max -- 可选字符串, 替换不超过 max 次
-
something new:
1.) leetcodet提交时,函数中“self”默认为嵌套运行
06. 从尾到头打印链表
-
头部插入“from typing import List”,即typing模块
typing模块的作用:
-
类型检查,防止运行时出现参数和返回值类型不对的情况
-
作为开发文档附加说明,方便使用函数时传入和返回正确的参数,利于开发效率
-
该模块并不会实际影响到程序的运行,不会报错,但是会有提示。
-
-
方法一:使用reverse()函数 ==》 list.reverse()
方法二:使用[::-1]方法,仅对数字倒叙输出有效
二者区别:
[::-1] 有返回值, reverse()函数没有返回值,仅对列表中的元素进行反向排序
09. 用两个栈实现队列*
-
示例含义:
输入:["CQueue","deleteHead","appendTail","appendTail","deleteHead","deleteHead"],
[[],[],[5],[2],[],[]]
输出:
[null,-1,null,null,5,2]
# CQueue:构造队列,输出为null
# deletHead:删除队头元素,若队列中存在元素,输出该元素值,反之输出-1
# appendTail:向队尾中插入整数,输出值为null
-
Python中的pop()函数
pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
20. 表示数值的字符串
方法一:暴力破解:(测试用例 202/1480)
a): 判断字符串中是否存在非e/E的其他的英文字母,若存在,则输出false,且字母e/E不得单独出现
b): 判断字符串e/E后是否为整数,若后续字符为小数,则输出false;
c): 小数点的个数是否多余一个,若存在,则输出false
d): 符号字符+、-是否连续出现在字符串中,若存在,则输出false
e): 小数点前可以不存在数字,仅为空格,但小数点后必须存在数字或字母e/E
f): 存在其他类型字符
。。。。。。
方法二:Python中的try,expect与强制转换
强制使用int()或 float()函数进行转换,无法转换则返回False
。。。。。待更新