题解 | #牛的回文编号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题解