defrotate_strings(A, p):if A isNoneorlen(A)==1:return A
else:
listA =list(A)
list1 = listA[:p]
list2 = listA[p:]
result = list2 + list1
return"".join(result)
2.将字符串转换为整数
defstr_to_int(string):
res,mult,flag =0,1,1ifnot string:return res
if string[0]=='-'or string[0]=='+':if string[0]=='-':
flag =-1
string = string[1:]for i inrange(len(s)-1,-1,-1):if'0'<= string[i]<='9':
res +=(ord(s[i])-48)* mult
mult = mult *10else:return0return res*flag
version_5
1.寻找数组中出现一半次数的数
defHalfLengthSolution(numbers):iflen(numbers)==0:returnNone
count =1
now = numbers[0]
length =len(numbers)for i inrange(1,length):if count ==0:
now = numbers[i]
count +=1else:if numbers[i]== now:
count +=1else:
count -=1
test =0for item in numbers:if item == now:
test +=1if test > length/2:return now
else:returnNone
2.寻找数组中第一个只出现一次的数字
deffind_only_one_number(numbers):ifnot numbers:returnNoneeliflen(numbers)==1:return numbers[0]else:for i in numbers:if numbers.count(i)==1:return i
else:returnNone