Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def find_palindromes(input)
- big_string = input.sub(' ', '')
- i = 0
- palindromes = []
- input.length.times do |i|]
- p = extract_palindrome(big_string, i)
- palindromes << p unless(p.length == 1)
- end
- end
- def extract_palindrome(big_string, start, i = 1, palindrome = "")
- if(big_string.length % 2 == 0)
- if(i == 1 and (big_string[start] == big_string[start + i]))
- palindrome += (big_string[start] * 2)
- increment = 1
- end
- else
- palindrome += big_string[start] if(i == 1)
- increment = 0
- end
- if(big_string[-(start + i)] == big_string[(start + (i + increment))])
- palindrome = big_string[start - i] + palindrome
- palindrome += big_string[start + (i + increment)]
- extract_palindrome(big_string, (start + 1), (i + 1), palindrome)
- else
- return palindrome
- end
- end
Add Comment
Please, Sign In to add comment