zoukankan      html  css  js  c++  java
  • Java实现 LeetCode 541 反转字符串 II(暴力大法)

    541. 反转字符串 II

    给定一个字符串和一个整数 k,你需要对从字符串开头算起的每个 2k 个字符的前k个字符进行反转。如果剩余少于 k 个字符,则将剩余的所有全部反转。如果有小于 2k 但大于或等于 k 个字符,则反转前 k 个字符,并将剩余的字符保持原样。

    示例:

    输入: s = “abcdefg”, k = 2
    输出: “bacdfeg”
    要求:

    该字符串只包含小写的英文字母。
    给定字符串的长度和 k 在[1, 10000]范围内。
    PS:
    暴力
    欢迎评论

    class Solution {
        public static void swap(char [] a,int begin,int end){
            while(begin<end){
                a[begin]^=a[end];
                a[end]^=a[begin];
                a[begin]^=a[end];
                begin++;
                end--;
            }
        }
        public String reverseStr(String s, int k) {
            char [] c=s.toCharArray();
            int len=c.length;
            for(int i=0;i<len; i=i+2*k){
                if(i+2*k<=len||i+k<=len){
                    swap(c,i,i+k-1);
                }else{
                    swap(c,i,len-1);
                }
               
            }
            return new String(c);
            
            
        }
    }
    
  • 相关阅读:
    WTL介绍
    创业创意
    VelocityTracker简单介绍
    strip 命令的使用方法
    CFileDialog的使用方法简单介绍
    讨论oracle在rowid和rownum
    java entry
    24点经典算法
    char与byte差异
    蓝牙设计
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12946394.html
Copyright © 2011-2022 走看看