21xrx.com
2024-11-22 07:05:11 Friday
登录
文章检索 我的文章 写文章
Java如何判断字符串是否是回文的
2023-07-06 09:03:47 深夜i     --     --
Java 判断 字符串 回文

回文指的是正读和反读都一样的词语或句子。在Java中,判断一个字符串是否是回文也非常简单。

首先,我们需要先定义一个方法,用于判断字符串是否是回文。方法接收一个字符串作为参数,并返回一个布尔值。方法内部实现将字符串首尾对比,如果相等,则将下标左移和右移分别继续比较,直到最终返回一个布尔值。

下面是一个例子:


public static boolean isPalindrome(String str) {

  if (str == null || str.length() == 0)

    return false;

  

  int left = 0;

  int right = str.length() - 1;

  while (left < right) {

    if (str.charAt(left) != str.charAt(right))

      return false;

    

    left++;

    right--;

  }

  return true;

}

在上面的代码中,我们先判断输入的字符串是否为空或为空字符串,如果是,就返回false。接下来,我们使用两个指针left和right,分别指向字符串的开头和结尾。

在while循环内,我们首先检查当前字符是否一致,如果不一致,则说明字符串不是回文。否则,将指针向中间移动,继续比较。

最终,如果所有字符都一致,则返回true,表示给定的字符串是回文。

我们可以使用下面的代码来测试上面的方法:


public static void main(String[] args) {

  String str1 = "abcba";

  String str2 = "abcde";

  System.out.println(str1 + " is palindrome: " + isPalindrome(str1));

  System.out.println(str2 + " is palindrome: " + isPalindrome(str2));

}

运行代码,将会得到如下输出:


abcba is palindrome: true

abcde is palindrome: false

可以看到,方法成功判断了第一个字符串是回文,而第二个字符串不是回文。

最后,我们需要注意到,在判断字符串是否是回文时,我们忽略了大小写和标点符号。如果需要对这些字符进行比较,可以使用Java的字符串操作函数对其进行处理。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复