회문 번호
4194 단어 leetcodeeasycsharpalgorithms
문제 설명
정수
x
가 주어지면 true
가 회문 정수인 경우 x
를 반환합니다.정수는 앞으로 읽을 때와 거꾸로 읽을 때 회문입니다.
121
는 회문이지만 123
는 회문이 아닙니다. 예 1
Input: x = 121
Output: true
Explanation: 121 reads as 121 from left to right and from right to left.
예 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.
예 3
Input: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
설명
給定一個
x
的整數,如果是回文 則返回 true
,否則 false
回文的定義是不論從頭或從尾開始,讀起來是一樣的,例如
121
和 1221
是回文,但 123
不是해결책
這題要考慮的地方是回文的長度,偶數長度的回文分割為左右兩等分時比較好判斷,奇數長度的回文最後會留下間的數中,它不需與帔其其題目最後的 Follow up 還提到能否在不將數字轉換成字串的情況下來解,依照前述的分析及題意,此題可使用算術運算子(산술 연산자)來解.
一開始先過濾一些特定的條件
x
是否為 0,如果是 return true x
是否小於 0 或者為 10 的倍數,如果是 return false 接著執行
while
迴圈直到條件成立,最後 return x
與擷取出的 reverseNum
是否相等.public bool IsPalindrome(int x)
{
if (x == 0)
return true;
if (x < 0 || x % 10 == 0)
return false;
int reverseNum = 0;
while (x > reverseNum)
{
reverseNum = reverseNum * 10 + x % 10;
x /= 10;
}
return x == reverseNum || x == reverseNum / 10;
}
참조
LeetCode Solution
GitHub Repository
글 읽어주셔서 감사합니다 🌷 🌻 🌼
마음에 드셨다면 주저말고 하트 꾸욱 눌러주세요❤️
또는 내 Leetcode 솔루션에서 좋아요를 클릭하세요.
또는 내 GitHub ⭐ 팔로우
또는 커피를 사주세요 ⬇️ 감사합니다.
Reference
이 문제에 관하여(회문 번호), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/fakestandard/palindrome-number-4l15텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)