美文网首页
917.仅仅反转字符串

917.仅仅反转字符串

作者: spark打酱油 | 来源:发表于2022-08-06 22:41 被阅读0次

    1.题目

    给你一个字符串 s ,根据下述规则反转字符串:

    所有非英文字母保留在原有位置。

    所有英文字母(小写或大写)位置反转。

    返回反转后的 s 。

    示例 1:

    输入:s = "ab-cd"

    输出:"dc-ba"

    示例 2:

    输入:s = "a-bC-dEf-ghIj"

    输出:"j-Ih-gfE-dCba"

    示例 3:

    输入:s = "Test1ng-Leet=code-Q!"

    输出:"Qedo1ct-eeLg=ntse-T!"

    提示

    1 <= s.length <= 100

    s 仅由 ASCII 值在范围 [33, 122] 的字符组成

    s 不含 '\"' 或 '\\'

    2.思路

    使用双指针

    3.代码

    object Solution {

    def reverseOnlyLetters(s: String): String = {

        val charArray: Array[Char] = s.toCharArray

        var left = 0

        var right =charArray.length-1

        while (left<right){

          if(charArray(left)>='a'&& charArray(left)<='z'||charArray(left)>='A'&& charArray(left)<='Z'){

            if(charArray(right)>='a'&& charArray(right)<='z'||charArray(right)>='A'&& charArray(right)<='Z'){

              var temp = charArray(left)

              charArray(left)=charArray(right)

              charArray(right)=temp

              left = left + 1

              right = right - 1

            } else right = right - 1

          } else  left = left + 1

        }

      String.valueOf(charArray)

      }

    }

    相关文章

      网友评论

          本文标题:917.仅仅反转字符串

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