老肝哥-菜鸟Java的LeetCode历程,第九题:Palindrome Number,朝远大目标前进!

您最亲爱的老肝哥又又上线了!

至于为什么是又又呢?因为老肝哥刚刚文章打文很开心呢,结果

忘记送出文章就关掉了,懒受

懒惰如老肝哥,一天当然发一篇,意思意思一下就好,
孰不知,这题看着看着就解出来了,一次就过
也不知道是不是慢慢习惯LeetCode做题目的模式,还怎样
舒服!
虽然这题真的很简单,但让老肝哥爽一下嘛

9. Palindrome Number

题目描述为下:
Example 1:

Input: x = 121
Output: true
Example 2:

Input: x = -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.

老肝哥的理解为:如果从左边读到右边跟从右边读到左边相同的话,就回传true 不同就传false

解答如下:

class Solution {    public boolean isPalindrome(int x) {               if (x > -2147483648 || x < 2147483647) {StringBuffer sb = new StringBuffer();String tmpStr = String.valueOf(x);char[] ch = tmpStr.toCharArray();String tmpStr2 = "";for (int i = ch.length - 1; i >= 0; i--) {sb.append(ch[i]);}tmpStr2 = sb.toString();if (tmpStr.equals(tmpStr2)) {return true;} else {return false;}}return false;            }}

解释如下:

由于有上一题的前车之鉴,老肝哥这次聪明的在顶部加上了int的範围,棒棒!

先用String.valueOf(x)把input转成字串,疑?
再用toCharArray()把字串转成char[],疑 484...?
反着跑个forloop 用append近StringBuffer,疑 这不是跟上题一样?
然后比较两个字串,搞定,484很简单呢?各位小伙伴
但这边要注意一下使用equals去比较字串内的值,
这种低级知识点,相信大家都知道,
但总有比老肝哥烂的麻(大误!)
还是提醒一下各位小伙伴喔


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章