zoukankan      html  css  js  c++  java
  • LeetCode 541. Reverse String II

    question:

    Given a string and an integer k, you need to reverse the first k characters for every 2k characters counting from the start of the string. If there are less than k characters left, reverse all of them. If there are less than 2k but greater than or equal to k characters, then reverse the first k characters and left the other as original.
    
    Example:
    
    Input: s = "abcdefg", k = 2
    Output: "bacdfeg"
    
    Restrictions:
    
        The string consists of lower English letters only.
        Length of the given string and k will in the range [1, 10000]

    try:

    class Solution {
        public String reverseStr(String s, int k) {
            char[] charArray=s.toCharArray();
            int length=charArray.length;
            char[] result=new char[length];
            
            for(int i=0;i<length;i++){
                if((i/k)%2==0){
                    if(length<((i/k)*k+k)){
                        result[length-1-i%k]=charArray[i];
                        //continue;
                    }else{
                        result[(i/k)*k+k-1-i%k]=charArray[i];     
                    }

                    
                }else {
                    result[i]=charArray[i];
                }
                    
            }
            return new String(result);
        }
    }

     result: 22.58%

    conclusion:

  • 相关阅读:
    tcpprep 对IPV6的支持
    the server quit without updating pid file (/var/lib/mysql/localhost.localdomain.pid)
    servlet service() for servlet jsp throws null pointer exception
    tomcat开机启动
    mysql 允许远程访问
    spring的helloworld
    java中的那些坑
    关于struts2中的相对路径与绝对路径
    Powercenter Source Filter
    oracle删除当前用户的表
  • 原文地址:https://www.cnblogs.com/hzg1981/p/8971683.html
Copyright © 2011-2022 走看看