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

牛的回文编号II

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

知识点:双指针,字符串

首先要将整数部分和小数部分分割开来,分别进行判断,对于小数部分,我们还要删除末尾的零,处理完成后,要对两个字符串进行回文串判断,具体来说,使用双指针指向字符串两侧,若指向字符相同,则向内靠拢,直至重叠,说明是回文字符串,否则不是。

Java题解如下

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param x string字符串 
     * @return bool布尔型
     */
    public boolean isPalindromeNumber (String x) {
        // write code here
        String digit1 = x.substring(0, x.indexOf("."));
        String digit2 = x.substring(x.indexOf(".") + 1, x.length());
        int index = digit2.length() - 1;
        while(digit2.charAt(index) == '0') {
            index--;
        }
        digit2 = digit2.substring(0, index + 1);
        if(!checkStr(digit1) || !checkStr(digit2)) {
            return false;
        }
        return true;
    }

    private boolean checkZero(String s) {
        for(int i = 0; i < s.length(); i++) {
            if(s.charAt(i) != '0') {
                return false;
            }
        }
        return true;
    }

    private boolean checkStr(String s) {
        int n = s.length();
        for(int i = 0; i < n / 2; i++) {
            if(s.charAt(i) != s.charAt(n - 1 - i)) {
                return false;
            }
        }
        return true;
    }
}

全部评论

相关推荐

湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务