quna 笔试真题 字符串解压
个人信息:就读于 燕大本科 软件工程专业 目前大四;
本人博客:google搜索“cqs_2012”即可;
个人爱好:酷爱数据结构和算法,希望将来从事算法工作为人民作出自己的贡献;
编程语言:Java ;
编程坏境:Windows 8.1 x64;
编程工具:eclipse;
制图工具:office 2007 powerpoint;
硬件信息:华硕X54HR 笔记本;
恋爱情况:处于被夺初吻的热恋中;
题目:
给出一个字符串如 a1b2c3ab10
将其转换成 abbcccabababababababababab
转换规则大概能猜出来了
思路:
字符串提取,数字提取
代码:(Java)
package wxj_string;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Main m = new Main();
String str = m.strUnzip("a1b2c3ab10");
System.out.println(str);
}
public String strUnzip(String str){
String result = "";
int i,j;
for(i=0;i<str.length();){
/*
* 截取包含字母的子字符串
*/
for(j=i;;j++){
if(str.charAt(j)>='0' && str.charAt(j) <='9')
break;
}
String data = str.substring(i,j);
i = j;
/*
* 截取包含数字的子字符串
*/
for(j=i;;j++){
if(j >= str.length() || str.charAt(j)<'0' || str.charAt(j) >'9')
break;
}
String num = str.substring(i,j);
i = j;
/*
* 解压字符串
*/
int n = Integer.parseInt(num);
for(;n>0;n--){
result += data;
}
}
return result;
}
}