在这里附上27的一个JAVA代码实现:
public class CommonString {
/**
* 求两个字符串中的所有共同字符,要求空间复杂度最低
*/
public static void main(String[] args) {
char[] s1 = "alibmnaba".toCharArray();
char[] s2 = "abmaibbna".toCharArray();
int m = 0;
for(int i=0;i<s1.length;i++)
for(int j=0;j<s2.length;j++){
Boolean sign = true;
if(s1[i]==s2[j]){
for(int k=0;k<=m;k++){
if(s1[i]==s1[k]){
sign=false;
break;
}
}
if(sign||i==0) {
s1[m++]=s1[i];
break;
}
}
}
for(int i = 0;i<m;i++){
System.out.print(s1[i]);
}
}
}
测试结果:aibmn