题目
样例
思路
将数字和字母分开,判断数字和字母数量,相差大于等于2直接返回"",
小于等于1时,相等时,谁先谁后都一样,
差值为1时,谁大谁先开头。
char[] a=new char[s.length()];
char[] b=new char[s.length()];
int c=0,d=0;
for (int i = 0; i < b.length; i++) {
if('0'<=s.charAt(i)&&s.charAt(i)<='9') {
a[c]=s.charAt(i);c++;
}
if(s.charAt(i)>='a'&&s.charAt(i)<='z') {
b[d]=s.charAt(i);d++;
}
}
if(c==d) {
String s1="";
for (int i = 0; i < s.length()/2; i++) {
s1+=a[i];
s1+=b[i];
}
return s1;
}
else if(Math.abs(c-d)==1) {
String s1="";
for (int i = 0; i < s.length()/2; i++) {
s1+=a[i];
s1+=b[i];
}
if(c>d) {
return s1+a[c-1];
}
else {
return b[d-1]+s1;
}
}
else {
return "";
}
代码待优化