判断给定字符串是否为回文串

题目:判断规定字符串是否为回文串。

  1. 首先我们应该理解什么是回文串。
    回文串就是从正面读和反面读是一样的字符串,比如level,正面读是level,反面读也是level。
  2. java程序实现。
package com.wang.suan;
/**
 * 判断给定的字符串是否是回文串。
 * 比如levle,noon等字符串
 * 思路:1. 一个指针指向开始位置i = 0;一个指针指向末尾位置j=length-1;
 *     2. 比较i和j指向的字符是否相等,如果不相等,则比较结束。如果相等,则i指针向后移动,j指针向前移动。继续下一次比较。
 *     3. 直到i,j位置居中即停止比较
 * @author wxe
 * @since 0.0.1
 */
public class PalindromeString {

    public static void main(String[] args) {
        String str = "no67on";
        System.out.println(isPalindromeString(str));

    }
    
    public static boolean isPalindromeString(String str){
        int i = 0;
        int j = str.length() - 1;
        //空字符串或者只有一个字符的字符串必然是回文串
        if (str.length() == 0 || str.length() == 1) {
            return true;
        }
        
        while (i < j) {
            if (Character.toLowerCase(str.charAt(i)) != Character.toLowerCase(str.charAt(j))) {
                return false;
            } else {
                i ++;
                j --;
            }
        }
        
        return true;
    }

}

你可能感兴趣的:(判断给定字符串是否为回文串)