您的位置:首页 > 其它

2012华为机试(北京)

2013-05-14 13:26 281 查看
 

这段时间忙着找工作,今天中午12:30,在北邮参加了华为的机试。很简单的一个问题。

 

问题如下:给你一个数字字符串("123",“121”,“2332”),让你判断该字符串是否为回文字符串。

 

              请补充完方法  

/**

 * 返回字符串 结果为:“true”或者“false”

 */

                public String   isPalindromic(String  inputStr){

 

return "false";

}

 

呵呵,以下是我当时做的方法:

 

  个人认为肯定会有更加完美的方法,所以在这儿也请教大家~~

 

 

public class Test {

public static String isPalindromic(String  inputStr){

String flag="true";
int strLength = inputStr.length();
char[] resultChar = inputStr.toCharArray();
char a;
char b;

if(strLength%2==0){  //字符串的长度为偶数,例如“2332”,“1234”
for(int i=0;i<strLength/2;i++){
a = resultChar[i];
b = resultChar[strLength-i-1];
if(a!=b){
flag = "false";
}
}
}else{
for(int i=0;i<(strLength-1)/2;i++){
a = resultChar[i];
b = resultChar[strLength-i-1];
if(a!=b){
flag = "false";
}
}
}
return flag;
}

public static void main(String[] args){

String test="2332";

if(isPalindromic(test).equals("true")){
System.out.println("您好,您输入的字符串为回文字!");
}else{
System.out.println("对不起,你输入的不是回文字!");
}
}
}

 
 

 刚才下楼的时候,正好碰到了同学,他用了I/O流做的,但是也没有细问他做的方法,希望使用其他方法的同学们指点一下。

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: