字符串
Posted 铁树小寒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串相关的知识,希望对你有一定的参考价值。
1.字符串的旋转
给定一个字符串,要求将字符串前面的若干个字符一刀字符串的尾部。
蛮力位移
def shift_one(str_a, length): list_a = [] for i in str_a: list_a.append(i) t = list_a[0] for i in range(length-1): list_a[i] = list_a[i+1] list_a[length-1] = t return ‘‘.join(list_a) def rotate_string(str_a, length, m): for i in range(m): str_a = shift_one(str_a, length) return str_a
三步反转
def reverse_string(str_a, begin, end): list_a = [] for i in str_a: list_a.append(i) while begin < end: list_a[begin], list_a[end] = list_a[end], list_a[begin] begin += 1 end -= 1 str_b = ‘‘.join(list_a) return str_b def rotate_string(str_a, length, m): m = m % length str_a1 = reverse_string(str_a, 0, m-1) str_a2 = reverse_string(str_a1, m, length-1) str_a3 = reverse_string(str_a2, 0, length-1) return str_a3
转化步骤是因为Python中字符串是不可变的,需要先转化为list类型。
2.字符串的包含
给定一个长字符串和一个短字符串,如何最快的判断出短字符串中的所有字符是否都在长字符串a中。
蛮力轮询
def string_contain(str_a, str_b): for i in str_b: count = 0 for j in str_a: if i == j: break count +=1 if count == len(str_a): return False return True
排序后轮询
3.字符串的全排列
输入一个字符,打印出该字符串中字符的所有排列。
例如输入字符串‘abc’,则输出有字符a,b,c所能排列出的所有字符串。
递归实现
字典序排列
4.字符串转换成整数
输入一个由数字组成的字符串,请把它转换成整数并输出。
5.回文判断
给定一个字符串,如何判断这个字符串是否是回文串。
两头往中间扫
6.最长回文子串
给定一个字符串,求它的最长回文子串的产长度。
以上是关于字符串的主要内容,如果未能解决你的问题,请参考以下文章