如何判断一个字符串是否是回文?

发布于 2024-09-13 15:52:47 字数 53 浏览 1 评论 0原文

如何测试给定的 String 是否是 Java 中的回文,而不使用任何为我完成这一切的方法?

How do you test if a given String is a palindrome in Java, without using any methods that do it all for me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

荭秂 2024-09-20 15:52:47
String palindrome = "..." // from elsewhere
boolean isPalindrome = palindrome.equals(new StringBuilder(palindrome).reverse().toString());
String palindrome = "..." // from elsewhere
boolean isPalindrome = palindrome.equals(new StringBuilder(palindrome).reverse().toString());
懵少女 2024-09-20 15:52:47
public boolean checkPalindrome(string word){

for(int i=0 ; i < word.length()/2;i++)
{
  if(word.charAt(i) ! = word.charAt(word.length()-1-i))

      return false;
}

return true;
}
public boolean checkPalindrome(string word){

for(int i=0 ; i < word.length()/2;i++)
{
  if(word.charAt(i) ! = word.charAt(word.length()-1-i))

      return false;
}

return true;
}
梦魇绽荼蘼 2024-09-20 15:52:47

诺埃尔的解决方案实际上更好。但如果是为了家庭作业,你可能想要这样做:

public static boolean isPalindrome(String word) {
    int left = 0;
    int right = word.length() -1;

    while (left < right) {
        if (word.charAt(left) != word.charAt(right)) 
            return false;

        left++;
        right--;
    }

    return true;
}

Noel's solution is actually better. But if it's for homework, you might want to do this:

public static boolean isPalindrome(String word) {
    int left = 0;
    int right = word.length() -1;

    while (left < right) {
        if (word.charAt(left) != word.charAt(right)) 
            return false;

        left++;
        right--;
    }

    return true;
}
滴情不沾 2024-09-20 15:52:47

Java 就地回文检查:

public static final boolean isPalindromeInPlace(String string) {
    char[] array = string.toCharArray();
    int length = array.length-1;
    int half = Math.round(array.length/2);
    char a,b;
    for (int i=length; i>=half; i--) {
        a = array[length-i];
        b = array[i];
        if (a != b) return false;
    }
    return true;
}

Java in-place palindrome check:

public static final boolean isPalindromeInPlace(String string) {
    char[] array = string.toCharArray();
    int length = array.length-1;
    int half = Math.round(array.length/2);
    char a,b;
    for (int i=length; i>=half; i--) {
        a = array[length-i];
        b = array[i];
        if (a != b) return false;
    }
    return true;
}
毁虫ゝ 2024-09-20 15:52:47
String str="iai";

StringBuffer sb=new StringBuffer(str);
String str1=sb.reverse().toString();
if(str.equals(str1)){
   System.out.println("polindrom");
} else {
   System.out.println("not polidrom");
}
String str="iai";

StringBuffer sb=new StringBuffer(str);
String str1=sb.reverse().toString();
if(str.equals(str1)){
   System.out.println("polindrom");
} else {
   System.out.println("not polidrom");
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文