Leetcode Python学习记录——代码随想录字符串篇

字符串

与列表的差异

在python中,字符串是不可变的,而列表是可变的。
处理字符串中"修改"操作的常见做法是:先将字符串转换为列表,完成需要的修改后,再将列表转换回字符串。

		res = list(s)  #s是一个字符串

        for cur in range(0, len(s), 2 * k):
        	#对于字符串s = 'abc',如果使用s[0:999] ===> 'abc'。字符串末尾如果超过最大长度,则会返回至字符串最后一个值,这个特性可以避免一些边界条件的处理。
            res[cur: cur + k] = reverse_substring(res[cur: cur + k])
        
        return ''.join(res)
  1. 对于字符串s = ‘abc’,如果使用s[0:999] ===> ‘abc’。字符串末尾如果超过最大长度,则会返回至字符串最后一个值,这个特性可以避免一些边界条件的处理。
  2. Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
symbol = "-";
seq = ("a", "b", "c"); # 字符串序列
print symbol.join( seq );

a-b-c

反转

s[p: p2][::-1]: 获取从 p 到 p2 的子字符串,并使用 [::-1] 进行反转。这是Python切片的一个特性,可以用来快速反转字符串或列表。

s = s[:p] + s[p: p2][::-1] + s[p2:]

python函数

isdigit()

Python isdigit() 方法检测字符串是否只由数字组成,只对 0 和 正数有效。

split()

index()

检查字符串内是否有另一个字符串,不在会抛出异常

		try:
            return haystack.index(needle)
        except ValueError:
            return -1

find()

检查字符串内是否有另一个字符串,不在返回-1

KMP算法

前缀表

  • 前缀:包含首字母不含尾字母
  • 后缀:包含尾字母不含首字母
    在前缀表中求最长相等前后缀。

next数组

冲突后回退到相等前缀的下一个位置。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值