2015-02-09 33 views
-8
public boolean isPalindrome(String s){ 
    for(int i = 0;i< s.length();i++) { 
     if(s.charAt(i)==s.reverse) 
    } 
} 

如何完成此操作以完成此目标?如何定义此代码,以便它能够在Palindrome中返回true?

+0

是,即使JUnit的? – jgr208 2015-02-09 20:50:48

+0

@ jgr208对于我见过的任何东西来说,这是不合适的junit ... – JNYRanger 2015-02-09 20:59:31

+0

认为是这样,因为我没有看到任何断言真的或类似的东西 – jgr208 2015-02-09 20:59:59

回答

1

我认为你想要做的是这个?

public boolean isPalindrome(String s) { 
    for (int i = 0; i < s.length()/2; i++) { 
     if (s.charAt(i) != s.charAt(s.length() - i - 1)) { 
      return false; 
     } 
    } 
    return true; 
} 

您可以使用反向StringBuilder的字符串,所以这可能是更容易写成

public boolean isPalindrome(String s) { 
    return new StringBuilder(s).reverse().toString().equals(s); 
} 
+0

for循环需要s.length()/ 2 – 2015-02-09 20:58:17

+0

为什么使用StringBuilder tho? – sunqifeng2018 2015-02-10 17:52:35

+0

您使用'StringBuilder',因为它有一个内置的'reverse'方法,它将颠倒String的顺序。阅读代码时,了解发生的事情要容易得多。 – Ascalonian 2015-02-10 18:41:41

相关问题