题解 | #牛的回文编号II#

牛的回文编号II

https://www.nowcoder.com/practice/0b576fd673834425878b99c736bb6c34

import java.lang.String;
import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
	 *
     * 首先对字符串做处理,将小数点前后分离
     * 去除前后0
	 * 判断回文数
	 *
     * @param x string字符串
     * @return bool布尔型
     */
    public static boolean isPalindromeNumber(String x) {
        //由"."位置切片
        String str1 = x.substring(0, x.indexOf("."));
        String str2 = x.substring(x.indexOf(".") + 1, x.length());
        if (huiwenshu(Delzero(str1)) && huiwenshu(Delzero(str2))) {
            return true;
        }
        return false;

    }
    /**
     * 删除前后0
     */
    private static String Delzero(String x) {
        x = x.replaceAll("^0*", "");//删除前导0,^匹配行头,0*匹配1个或多个0
        x =  x.replaceAll("0+$", "");//删除后缀0,$匹配行尾
        System.out.println(x);
        return x;
    }
    /**
     * 判断回文字符串
     */
    private static boolean huiwenshu(String s) {
	  //空值处理
        if (s == null || s.length() == 0) return true;
	  //前后双指针
        for (int i = 0, j = s.length() - 1; i != j; i++, j--) {
            if (s.charAt(i) != s.charAt(j)) {
                return false;
            }
        }
        return true;
    }
}

面试高频TOP202 文章被收录于专栏

面试高频TOP202题解

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务