Skip to content

Instantly share code, notes, and snippets.

@mutkuensert
Last active August 15, 2023 09:48
Show Gist options
  • Save mutkuensert/2c4593f05392a203c31460ba0b57da22 to your computer and use it in GitHub Desktop.
Save mutkuensert/2c4593f05392a203c31460ba0b57da22 to your computer and use it in GitHub Desktop.
My Leetcode Problem Solutions
// O(n)
class Solution {
fun reverse(x: Int): Int {
var reversed = 0
var number = x
while (number != 0) {
val remainder = number % 10
reversed = reversed * 10 + remainder
if (isBiggerThanLimit(reversed, remainder) && number != 0) {
return 0
}
number -= remainder
number /= 10
}
return reversed
}
private fun isBiggerThanLimit(reversed: Int, remainder: Int): Boolean {
return if (reversed < 0) {
reversed < Int.MIN_VALUE / 10 - remainder
} else {
reversed >= Int.MAX_VALUE / 10 - remainder
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment