leetcode 541. Reverse String II

来源:互联网 发布:java 身份证号取性别 编辑:程序博客网 时间:2024/04/30 15:00

这道题也是本周最新的一题,难度easy

Input: s = "abcdefg", k = 2Output: "bacdfeg"
输入如上,简单的说,就是把前k个字母反转过来表示,然后有例外,然后就是每隔2k个距离,再反转一次

public class Solution {    public String reverseStr(String s, int k) {        if(s.length()>k){            int mark=0;            while(mark<s.length()-1){                String temp="";                for(int i=mark+k-1;i>=mark;i--){                    if(i<s.length()){                        temp=temp+s.charAt(i)+"";                    }else{                        i=s.length()-1;                        temp=temp+s.charAt(i)+"";                    }                }                if(mark+k<=s.length()){                    s=s.substring(0,mark)+temp+s.substring(mark+k,s.length());                }else{                    s=s.substring(0,mark)+temp;                }                mark=mark+2*k;            }        }else{            String temp="";            for(int i=0;i<s.length();i++){                temp=temp+s.charAt(s.length()-i-1)+"";            }            s=temp;        }        return s;    }}


0 0
原创粉丝点击