quna 笔试真题 字符串解压

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;
	}
	

}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值