美文网首页
2022-02-23 917. 仅仅反转字母

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

作者: 16孙一凡通工 | 来源:发表于2022-02-23 09:30 被阅读0次

送分题
java版本:

class Solution {
    public String reverseOnlyLetters(String s) {

     // 每一个单个字符存到数组当中
    // 然后对其进行倒序替换
    int n=s.length();
    char[] arr=s.toCharArray();
    char[] arr1=new  char[n];
    int count=0;
    // StringBuffer str=new StringBuffer(s);
    for(int i=0;i<n;i++){
        if(arr[i]-'a'<26 && arr[i]-'a'>=0){
            arr1[i]=arr[i];
            count++;
        }else if(arr[i]-'A'<26 && arr[i]-'A'>=0){
            arr1[i]=arr[i];
            count++;
        }else{
            arr1[i]='*';
        }
    }
//      for(int i=0;i<arr.length;i++){
//    System.out.print(arr[i]);
//      }
//      System.out.println();
//       for(int i=0;i<arr1.length;i++){
//    System.out.print(arr1[i]);
//      }
//      System.out.println();
    int j=0;
     char[] arr2=new char[count];
      for(int i=n-1;i>=0;i--){
          if(arr1[i]!='*'){
              arr2[j]=arr1[i];
              j++;
          }  
      }
      j=0;
//        for(int i=0;i<arr2.length;i++){
//    System.out.print(arr2[i]);
//      }
//      System.out.println();
    
    for(int i=0;i<arr.length;i++){
        if(arr1[i]!='*'){
            arr[i]=arr2[j];
            j++;
        }
    
    }
  
    return String.valueOf(arr);

        }
}

Go版本:

func reverseOnlyLetters(s string) string {
    // 每一个单个字符存到数组当中
    // 然后对其进行倒序替换
    arr:=make([]string,0);
    
      arr_s:=make([]string,0);
      arr1:=make([]string,0);

      for _,value:=range s{
          arr_s=append(arr_s, string(value));
      }
    //   fmt.Println(arr_s)

    for _,value:=range s{
        if value-'a'<26 && value-'a'>=0{
            arr=append(arr,string(value));

        }else if  value-'A'<26 && value-'A'>=0{
            arr=append(arr,string(value));

        }else{

            arr=append(arr,"*");
        }
    }

     for i:=len(arr)-1;i>=0;i--{
         if arr[i]!="*"{
           arr1=append(arr1,arr[i]);
         }
     }
    //   fmt.Println(arr1)
      j:=0;

      for i:=0;i<len(arr_s);i++{
        if(arr[i]!="*"){
            arr_s[i]=arr1[j];
            j++;
        }
      }
      res:=""
        for i:=0;i<len(arr);i++{
         res+=arr_s[i];
        }

     return res;
}

相关文章

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

    送分题java版本: Go版本:

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

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

  • 917. 仅仅反转字母

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

  • 917. 仅仅反转字母

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

  • 917. 仅仅反转字母

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

  • LeetCode第105场周赛题解

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

  • Leetcode 917. 仅仅反转字母

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

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

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

  • 仅仅反转字母

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

  • 917.仅仅反转字符串

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

网友评论

      本文标题:2022-02-23 917. 仅仅反转字母

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