美文网首页Leetcode刷题
Leetcode 917. 仅仅反转字母

Leetcode 917. 仅仅反转字母

作者: 鱼欲遇雨 | 来源:发表于2018-10-18 23:07 被阅读0次

917. 仅仅反转字母 URL

给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。

【解题思路】
思路1:

  1. 新建一个和字符串等长的数组作为标记数组,如果是字符串就为0,否则为1
  2. 将字符串反转,按照顺序填充到标记为0的位置

思路2:

  1. 两个指针一前一后移动,循环start < end,则继续;否则退出
  2. 循环start < end 并且字符不是字母的,则start ++
  3. 循环end >= 0 并且字符不是字幕的,则end--
  4. 如果 start >= end,则break
  5. 否则就交换,然后start ++,end --

思路3:

  1. 遍历S, 如果是字母,就放到栈中(list 也行)
  2. 遍历S, 如果是字母就增加栈顶的元素到ans; 否则就将字符增加到ans
    (重新生成字符串,不用原来的的字符串)

思路4:

  1. 遍历S,如果是字母,从后面遍历是字母的,则ans+S[j];否则直接ans+S[i]

【知识点】

  1. 字符串值的修改
    • replace函数
    • 转换成list
    • 序列切片
  2. 字符是不是字母的判断
    c.isalpha()
  3. 将list里面的字符串拼成字符串
    • ''.join(list)
  4. 遍历 index和value
    enumerate(list,string)

相关文章

  • Leetcode 917. 仅仅反转字母

    917. 仅仅反转字母 URL 给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而...

  • 917. 仅仅反转字母

    917. 仅仅反转字母 给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母...

  • 917. 仅仅反转字母

    给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 ...

  • 917. 仅仅反转字母

    给你一个字符串 s ,根据下述规则反转字符串: 所有非英文字母保留在原有位置。 所有英文字母(小写或大写)位置反转...

  • LeetCode 917. 仅仅反转字母 Reverse Onl

    【题目描述】给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反...

  • LeetCode第105场周赛题解

    917. 仅仅反转字母 题目难度Easy 给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留...

  • 2022-02-23 917. 仅仅反转字母

    送分题java版本: Go版本:

  • 2022-02-23 「917. 仅仅反转字母」

    发现了一个简书的bug,new一个新文章首行首个文字的首字母一定会被独立大写,导致我无法正确打字TAT。 今日简单...

  • 仅仅反转字母

    给你一个字符串 s ,根据下述规则反转字符串: 所有非英文字母保留在原有位置。所有英文字母(小写或大写)位置反转。...

  • 917.仅仅反转字符串

    1.题目 给你一个字符串 s ,根据下述规则反转字符串: 所有非英文字母保留在原有位置。 所有英文字母(小写或大写...

网友评论

    本文标题:Leetcode 917. 仅仅反转字母

    本文链接:https://www.haomeiwen.com/subject/brsezftx.html