玲琅7487 发表于 2016-6-6 07:32:16

2012华为机试(北京)

  
  这段时间忙着找工作,今天中午12:30,在北邮参加了华为的机试。很简单的一个问题。
  
  问题如下:给你一个数字字符串("123",“121”,“2332”),让你判断该字符串是否为回文字符串。
  
  请补充完方法  
  /**
   * 返回字符串 结果为:“true”或者“false”
   */
  public String   isPalindromic(String  inputStr){
  
  return "false";
  }
  
  呵呵,以下是我当时做的方法:
  
  个人认为肯定会有更加完美的方法,所以在这儿也请教大家~~
  
  

public class Test {
public static String isPalindromic(StringinputStr){
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;
b = resultChar;
if(a!=b){
flag = "false";
}
}
}else{
for(int i=0;i<(strLength-1)/2;i++){
a = resultChar;
b = resultChar;
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流做的,但是也没有细问他做的方法,希望使用其他方法的同学们指点一下。
  
  
页: [1]
查看完整版本: 2012华为机试(北京)