字符串分组排序

function myFun(str){
	if(typeof(str) != 'string'){
		return '';
	}
	var reg = new RegExp('^[0-9a-zA-Z]+$')
	if(!reg.test(str)){
		return '<invalid input string>'
	}
	var array = str.split('');
	function sortFun(x,y){
		return	x.charCodeAt(0) - y.charCodeAt(0)
	}
	array.sort(sortFun);

	var result = [];
		while(array.length > 0){
			//console.log(array.join(','))
			var s = array.splice(0,1)[0];
			console.log(s);
			var oldLength = array.length;
			result.push(s);
			for(j=0;j<array.length;j++){
				//console.log('j:'+j+'arrayj:'+array[j]);
				if(array[j] != s){
					s = array[j];
					result.push(array.splice(j,1)[0]);	
					j--;			
				}
			}

			if(oldLength == array.length|| array.length == 0){
				return result.join('');
			}			
	}
}

Sample In

aabbccdd
007799aabbccddeeff113355zz
1234.89898
abcdefabcdefabcdefaaaaaaaaaaaaaabbbbbbbddddddee


Sample Out

abcdabcd
013579abcdefz013579abcdefz
<invalid input string>
abcdefabcdefabcdefabdeabdeabdabdabdabdabaaaaaaa



竟然连写带调了一个小时,我很懊恼!

转载于:https://my.oschina.net/u/867090/blog/223826

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值