题解 | #图片整理#

图片整理

https://www.nowcoder.com/practice/2de4127fda5e46858aa85d254af43941

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String lily = in.nextLine();
            char[] charlist= lily.toCharArray();
             out(charlist,0,charlist.length-1);
             System.out.println(charlist);
        }

    }
    public static void out( char[] charlist,int left,int right){
    
    if(left>= right ){
        return;
    }
       //慢指针
         int site=left;
         char c=charlist[left];
         for(int j=left;j<=right;j++){  
            if(charlist[j]<c){
               site++;
               char k=charlist[site];
               charlist[site]=charlist[j];
               charlist[j]=k;     
                  
            }
         }
         char k=charlist[site];
         charlist[site]=charlist[left];
         charlist[left]=k;
	  
	   //递归
         out(charlist,left,site-1);
         out(charlist,site+1,right);  
  }
    
    
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务