您最亲爱的老肝哥又又上线了!
至于为什么是又又呢?因为老肝哥刚刚文章打文很开心呢,结果
忘记送出文章就关掉了,懒受
懒惰如老肝哥,一天当然发一篇,意思意思一下就好,
孰不知,这题看着看着就解出来了,一次就过
也不知道是不是慢慢习惯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去比较字串内的值,
这种低级知识点,相信大家都知道,
但总有比老肝哥烂的麻(大误!)
还是提醒一下各位小伙伴喔