From 2179973752fea09f2522a1f03402e3a60e903ba0 Mon Sep 17 00:00:00 2001 From: rihib Date: Sat, 21 Dec 2024 14:34:39 +0900 Subject: [PATCH] pullrequests/palindrome_number --- pullrequests/palindrome_number/step1.go | 22 ++++++++++++++++++++++ pullrequests/palindrome_number/step2.go | 25 +++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 pullrequests/palindrome_number/step1.go create mode 100644 pullrequests/palindrome_number/step2.go diff --git a/pullrequests/palindrome_number/step1.go b/pullrequests/palindrome_number/step1.go new file mode 100644 index 0000000..f35ae4c --- /dev/null +++ b/pullrequests/palindrome_number/step1.go @@ -0,0 +1,22 @@ +//lint:file-ignore U1000 Ignore all unused code +package palindromenumber + +/* +レビュワーの方へ: + - このコードは既にGoの標準のフォーマッタで整形済みです。演算子の周りにスペースがあったりなかったりしますが、これはGoのフォーマッタによるもので、優先順位の高い演算子の周りにはスペースが入らず、低い演算子の周りには入るようになっています。https://qiita.com/tchssk/items/77030b4271cd192d0347 +*/ + +/* +時間:8分50秒 +最初に思いついたのは文字列に変換してチェックする方法だが、LeetCode上に文字列に変換しないで求めてみよと書かれていたのでまずは下記のようにして解いた。 +*/ +func isPalindromeStep1(x int) bool { + var reversed int + tmp := x + for tmp > 0 { + n := tmp % 10 + reversed = reversed*10 + n + tmp /= 10 + } + return x == reversed +} diff --git a/pullrequests/palindrome_number/step2.go b/pullrequests/palindrome_number/step2.go new file mode 100644 index 0000000..cedc9d5 --- /dev/null +++ b/pullrequests/palindrome_number/step2.go @@ -0,0 +1,25 @@ +//lint:file-ignore U1000 Ignore all unused code +package palindromenumber + +import "strconv" + +/* +レビュワーの方へ: + - このコードは既にGoの標準のフォーマッタで整形済みです。演算子の周りにスペースがあったりなかったりしますが、これはGoのフォーマッタによるもので、優先順位の高い演算子の周りにはスペースが入らず、低い演算子の周りには入るようになっています。https://qiita.com/tchssk/items/77030b4271cd192d0347 +*/ + +/* +一応、文字列に変換する方法でも解いてみた。 +*/ +func isPalindromeStep2(x int) bool { + strX := strconv.Itoa(x) + i, j := 0, len(strX)-1 + for i < j { + if strX[i] != strX[j] { + return false + } + i++ + j-- + } + return true +}