码迷,mamicode.com
首页 > 其他好文 > 详细

151. Reverse Words in a String

时间:2019-05-11 17:46:11      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:思路   根据   strip   简单   split()   reverse   lis   ever   中间   

Given an input string, reverse the string word by word.

 

My idea:删除左右两边空格,转换成数组,再把中间空格给改了,再专成字符串,用快慢指针找到单词放进去,很麻烦,所以效果不好。

class Solution:
    def reverseWords(self, s) :
        a=s.lstrip()
        b=a.rstrip()
        if(b==‘‘):
            return ‘‘
        if(b.count( )==0):
            return b
        p=b.index( )
        c=list(b)
        while(p<len(c)):
            if(c[p]== ):
                while(c[p+1]== ):
                    del c[p+1]
            p=p+1
        d=‘‘
        for i in range(len(c)):
            d=d+c[i]
        e=d.rindex( )
        end=len(d)
        ans= 
        while(e>=0):
            if(d[e]== ):
                ans=ans+d[e:end]
                end=e

            e=e-1
        ans = ans + + d[e+1:end]
        an=ans.lstrip()
        return an
执行用时 : 92 ms, 在Reverse Words in a String的Python3提交中击败了7.72% 的用户
内存消耗 : 13.7 MB, 在Reverse Words in a String的Python3提交中击败了5.02% 的用户
 
别人的就很简单。一句话。。 关键是split的用法学习
Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
str.split(str="", num=string.count(str)).
class Solution(object):
    def reverseWords(self, s):
        """
        :type s: str
        :rtype: str
        """
        return  .join(s.strip().split()[::-1])

这里思路就是先删除左边的空格然后根据空格分隔再倒叙排列出来再rejoin即可 np

151. Reverse Words in a String

标签:思路   根据   strip   简单   split()   reverse   lis   ever   中间   

原文地址:https://www.cnblogs.com/dmndxld/p/10849372.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!