代码随想录刷题营Day8(344,541,剑指05,151,剑指58)

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()可以除掉所有的空格!太棒了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值