You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
448 B
Ruby

def reverse_sentence(str)
reverse_in_place(str, 0, str.length - 1)
word_beginning = 0
(0..str.length).each do |i|
if i == str.length || str[i] == ' '
reverse_in_place(str, word_beginning, i - 1)
word_beginning = i + 1
end
end
str
end
def reverse_in_place(str, start, len)
while start < len
str[start], str[len] = str[len], str[start]
start += 1
len -= 1
end
str
end