Skip to content

Instantly share code, notes, and snippets.

@AndrewVos
Created April 29, 2013 22:47
Show Gist options
  • Save AndrewVos/5485415 to your computer and use it in GitHub Desktop.
Save AndrewVos/5485415 to your computer and use it in GitHub Desktop.
require "benchmark"
def reverse number
inverse = 0
while number > 0
inverse = inverse * 10 + (number % 10)
number = number / 10
end
inverse
end
def is_palindrome_1? number
number == reverse(number)
end
def is_palindrome_2? number
number== number.reverse
end
1.upto(1000000) {|n| n.to_s}
puts Benchmark.measure {
1.upto(1000000) do |n|
n = n.to_s
is_palindrome_1?(Integer(n))
end
}
puts Benchmark.measure {
1.upto(1000000) do |n|
n = n.to_s
is_palindrome_2?(n)
end
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment