刷题建议
刷题建议与debug
- 代码随想录目前基本都有了视频讲解,一定要先看视频,事半功倍。
- 写博客,将自己的感悟沉淀下来,不然会忘
- 大家提问的时候,记得要把问题描述清楚,自己在哪一步遇到了问题,做了哪些调试,而不要只是把代码甩出来,这样方便大家帮忙快速定位问题。
博客内容:(博客记录以及打卡格式)
今日学习文章链接和视频链接
Python菜鸟教程
技巧总结
- Python切片是十分有用的,参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017269965565856
- Python不需要使用Temp,直接交换就行,
s[left], s[right] = s[right], s[left]
- 字符串不可改变,如果要改变字符串的值或者切片,先将字符串转换为字符列表,最后
return ''.join(res)
,重新返回字符串 - 对于字符串s = ‘abc’,如果使用s[0:999] ===> ‘abc’。字符串末尾如果超过最大长度,则会返回至字符串最后一个值,这个特性可以避免一些边界条件的处理。
- 使用range(start, end, step)来确定需要调换的初始位置
- 切片是左闭右开
344.反转字符串
自己看到题目的第一想法
- 双指针,使用temp交换s[i]和s[len(s)-i-1]的值
看完代码随想录之后的想法
- Python不需要使用temp,直接交换就行
自己实现过程中遇到哪些困难
相关题目
541. 反转字符串II
自己看到题目的第一想法
- 复杂逻辑判断
看完代码随想录之后的想法
- 直接在循环里,每次跳i += 2k,每隔 2k 个字符的前 k 个字符进行反转
- 剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符
- 剩余字符少于 k 个,则将剩余字符全部反转。
- 注意“技巧总结”
替换数字
自己看到题目的第一想法
- 将字符串转为字符数组,遍历list