2017網易遊戲雷火盤古實習生編程題---字符串編碼

給定一個字符串,請你將字符串重新編碼,將連續的字符替換成“連續出現的個數+字符”。比如字符串AAAABCCDAA會被編碼成4A1B2C1D2A。

輸入描述:

每個測試輸入包含1個測試用例
每個測試用例輸入只有一行字符串,字符串只包括大寫英文字母,長度不超過10000。

 

輸出描述:

輸出編碼後的字符串

 

輸入例子1:

AAAABCCDAA

 

輸出例子1:

4A1B2C1D2A
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		char[] arr=new char[10000];
	    List wordlist=new ArrayList();  //存放最終的結果
		arr=input.next().toCharArray();
		int cunt=1;//統計每個相鄰相同字母的個數,默認爲1
		int len=0;
		//統計每個字母出現的次數
		for(int i=0;i<arr.length;i++) {
			//如果統計最後一個
			if(i+1==arr.length) {
				wordlist.add(cunt);
				wordlist.add(arr[i]);
				break;
			}
			//如果相鄰的字母一樣,cunt++
			if(arr[i]==arr[i+1]) {
				cunt++;
			}else {      //不同的話就添加
				wordlist.add(cunt);
				wordlist.add(arr[i]);
				cunt=1;				
			}
			
		}
		for(int i=0;i<wordlist.size();i++) {
			if(i==wordlist.size()-1) {
				System.out.println(wordlist.get(i));
			}else {
			System.out.print(wordlist.get(i));
			}
		}
		
	}

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章