首页 > 其他分享 >字符串 01

字符串 01

时间:2023-08-27 17:11:57浏览次数:33  
标签:01 while right 字符串 leetcode left

def removeSpaces(s) :
    left, right = 0, len(s)- 1
    #去除开头的空格
    while left < right and s[left] == ' ' :
        left += 1
    while left < right and s[right] == ' ' :
        right -= 1 

    new_s = [] 
    while left <= right :
        if s[left] != ' ' :
            new_s.append(s[left]) 
            #new_s[-1] 为new_s 最后一个字符
            #如果这个字符不是空格,则继续添加
        elif s[left] == ' ' and new_s[-1] != ' ' :
            new_s.append(s[left]) 
        left += 1
    return new_s     

def reverseString(s) :
    left, right = 0, len(s) - 1
    while left < right :
        s[left], s[right] = s[right], s[left] 
        left += 1 
        right -= 1 
    
    return s 

def reverseEachWord(s) :
    left, right = 0, 0 
    n = len(s) 

    while left < n :
        while right < n and s[right] != ' ' :
            right += 1
        s[left:right] = reverseString(s[left:right]) 
        left = right + 1
        right += 1
    
    return s 

def reverseWords(s) :
    s = removeSpaces(s) 
    s = reverseString(s) 
    s = reverseEachWord(s) 
    return ''.join(s)

leetcode: 151

 

相关阅读:https://leetcode.cn/problems/reverse-words-in-a-string/solutions/1167554/acm-xuan-shou-tu-jie-leetcode-fan-zhuan-moi5x/

标签:01,while,right,字符串,leetcode,left
From: https://www.cnblogs.com/yuhao0451/p/17660492.html

相关文章

  • NOIP2018提高组初赛易错题解析
    2.下列属于解释执行的程序设计语言是()A.C B.C++ C.Pascal D.Python错误原因:忘记了正解:C、C++和Pascal都是编译性语言,而Python是解释性语言 5.设某算法的时间复杂度函数的递推方程是 T(n)=T(n-1)+n(n 为正整数)及 T(0)=1,则该算法的时间复杂度为()A.O(logn) ......
  • CSP-J2019初赛易错题解析
    7.把 8 个同样的球放在 5 个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的分法?()提示:如果 8 个球都放在一个袋子里,无论是哪个袋子,都只算同一种分法。A.22B.24 C.18 D.20正解:使用枚举法,枚举所有合法情况,共18种 ......
  • CSP-S2019初赛易错题解析
    一.6.由数字 1,1,2,4,8,8 所组成的不同的 4 位数的个数是()A.104  B. 102  C. 98  D. 100错误原因:遗漏答案正解:使用穷举法,第一种ABCD型,共有A(4,4)=24种,第二种AABC型,共有A(4,2)*C(3,2)*2=72种,第三种AABB型,共有6种,总共是102种。 8.G 是一个非连通无向图(......
  • ORA-01502:索引“XXX.XXX”或此类索引的分区处于不可用状态
    错误信息【汉】ORA-01502:索引“XXX.XXX”或此类索引的分区处于不可用状态【英】ORA-01502:index'string.string'orpartitionofsuchindexisinunusablestate环境信息操作系统数据库版本备注CentOS7Oracle11G错误在执行数据操作(插入数据)时报错。原因Oracle在执行DML语句......
  • 01形态音频转出文件
    一长一短音频波形转成二进制,进一步转成十六进制,再写入文件中importwave,codecsimportnumpyasnpwavfile=wave.open(u'music.wav',"rb")params=wavfile.getparams()nframes=params[3]#采样点数datawav=wavfile.readframes(nframes)#读取音频,字符串格式wa......
  • String(字符串)
    String(字符串)字符串可以进行追加操作使用append命令127.0.0.1:6379>127.0.0.1:6379>setv1hello#添加一个键v1OK127.0.0.1:6379>EXISTSv1 #查看v1是否存在(integer)1127.0.0.1:6379>getv`1(nil)127.0.0.1:6379>getv1#读取v1的值"hello"127.0.0.1:6379>APPE......
  • P6302 [NOI2019] 回家路线 加强版
    P6302[NOI2019]回家路线加强版斜率优化好题。观察后猜想应该是dp。经过思考发现如果以点为状态,在时间这一维上是存在后效性的,而如果开二维数组\(f_{i,j}\)表示在第\(j\)个时刻到了\(i\)个点过不去加强版,考虑以列车为状态。题目有两个限制,一是出发点和结束点的限制,即......
  • CS0012: 类型“System.Data.Objects.DataClasses.EntityObject”在未被引用的程序集中
    CS0012:类型“System.Data.Objects.DataClasses.EntityObject”在未被引用的程序集中定义。必须添加对程序集“System.Data.Entity,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的引用。网址:yii666.com<网址:yii666.com处理办法,在web.config-》syst......
  • NC20277 [SCOI2010]字符串
    题目链接题目题目描述lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数。现在lxhgww想要知道满足要求的字符串共有多少个,聪明的程序员们,你们能帮助他吗?输入描述输入数据是一......
  • Java字符串替换
    JavaStringreplaceAll详解总结:Java编译期\为转义符,运行期正则表达式\为转义符,正则表达式匹配\需使用\\。replace为普通字符串替换,replaceAll为正则表达式替换(第一个参数为正则表达式,第二个参数中\为转义字符,$为正则字符),第二个参数表示\需使用\\。示例:替换字符串中的""......