betoesquivel icon

ruby check palindrome

betoesquivel | PRO | 05/15/15 02:01:24 AM UTC | 0 ⭐ | 532 👁️ | Never ⏰ | []
Ruby |

560 B

|

None

|

0 👍

/

0 👎

#!/usr/bin/env ruby
# -*- ruby -*-
 
def palindrome?(palindrome)
  palindrome.strip!
  length = palindrome.size
  return false if length.zero?
 
  i = 0
  j = length - 1
  while i < j
    while i < j and palindrome[i] == ' '
      i += 1
    end
    while j > i and palindrome[j] == ' '
      j -= 1
    end
    return false if palindrome[i] != palindrome[j]
    i += 1
    j -= 1
  end
  return true
end
 
sentence = gets.chomp
if (palindrome?(sentence))
  puts "#{sentence} is a palindrome"
else
  puts "#{sentence} is not a palindrome"
end

Comments