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
竟然连写带调了一个小时,我很懊恼!