leetcode做题记录0009

醉酒当歌 提交于 2020-02-10 15:51:27

leetcode 0009

说明

只是为了记录一下,不求多快,也不深究。

会简要描述思路,代码中不写注释。

如碰到不会做的用了别人代码会在博客中标出。

题目描述

在这里插入图片描述

结果

在这里插入图片描述

思路

把数字每一位放到一个数组里,然后搞两个游标i,j分别从数组头和尾向中间遍历。

碰到num[i]!=num[j]的直接false。

遍历完了还没return false的话就return true。

代码

class Solution {
    public boolean isPalindrome(int x) {
        if(x<0) {
        	return false;
        }
        if(x>=0&&x<10) {
        	return true;
        }
        int[] num = new int[10];
        for(int i=0;i<10;++i) {
        	num[i] = -1;
        }
        int idx = 0;
        while(true) {
        	num[idx++] = x%10;
        	x /= 10;
        	if(x == 0) {
        		break;
        	}
        }
        for(int i = 0,j = idx - 1;i <= j;++i,--j) {
        	if(num[i]!=num[j]) {
        		return false;
        	}
        }
        return true;
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!