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 stubMain 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;}}
,走过的路成为背后的风景,不能回头不能停留,若此刻停留,