344:反转字符串1
还是蛮简单的,不多说
541:反转字符串2
(1)首先通过这个题,又练习了字符串的语法。
- 字符串是不能直接操作的,一把会把他转换成字符数组再进行后续的操作。
- 如果想在字符串数组中直接打印字符串,例如:s=[“l”,“e”,“l”,“e”],打印为“lele”,可以用这样的写法:‘’.join(s)
对于这个题,有一点没有明白,为啥python的代码不需要跟其他代码一样,需要对i+k进行是否大于数组长度进行判断呢,而是用很简洁的代码就搞定了,不明白啊,这也太神奇了。
151:反转字符串中的单词
例如:实在是太难过了,我还是不能自己都写出来。有些繁琐,需要先去空格,再全文反转,再单词反转。。。
除去空格是重点好好看看!!!除去两边的空格!!!再出去中间的空格!!!
// An highlighted block
def trim_spaces(self,s):
n=len(s)
left=0
right=n-1
while left<right and s[left]==" ":
left+=1
while left<right and s[right]==" ":
right-=1
tmp=[]
while left<=right:
if s[left]!=" ":
tmp.append(s[left])
elif tmp[-1]!=" ":
tmp.append(s[left])
left+=1
return tmp
剑指offer58:反转单词顺序
和前面的题一样的意思,不过python直接一句话就搞定了啊,哎,卡尔的方法我再学学。
def reverseWords(self,s):
temp=s.split()[::-1]
return " ".join(temp)
原来python中的split()可以除掉所有的空格!太棒了!