题解 | #字符串压缩算法#

字符串压缩算法

http://www.nowcoder.com/practice/2ff3d36b4d4a4bfeb1a7d64f3cc55c15

import java.util.Scanner;

public class Main{

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    String str = in.nextLine();
    String res = compress(str);
    System.out.println(res);
}

public static String compress(String str){
    int count = 0;
    String res = "";
    if(str.length()==1){
        res = str;
    }
    else{
        for(int i=1; i<str.length(); i++){
            String s = str.substring(i, i+1);


            if(i==str.length()-1){
                if(s.equals(str.substring(i-1, i))){
                    count++;
                    if(count!=0){
                        res += count + str.substring(i-1, i);
                    }
                    else{
                        res += str.substring(i-1, i);
                    }
                }
                else{
                    if(count!=0){
                        res += count + str.substring(i-1, i);
                    }
                    else{
                        res += str.substring(i-1, i);
                    }
                    res += s;
                }
            }
            else{
                if(s.equals(str.substring(i-1, i))){
                    count++;
                }
                else{
                    if(count!=0){
                        res += count + str.substring(i-1, i);
                    }
                    else{
                        res += str.substring(i-1, i);
                    }
                    count = 0;
                }
            }

        }
    }

    return res;
}

}

全部评论

相关推荐

11-27 12:43
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
喜欢吃蛋糕仰泳鲈鱼是我的神:字节可以找个hr 给你挂了,再放池子捞
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务