Wm.*_*ite 2 ruby string reverse
我不明白为什么revers_string = string [i] + reversed_string将最后一个char放在第一位.似乎string [i]将索引第一个char而不是最后一个.因此,如果字符串是"abc",则索引0将是'a'而不是'c'.有人可以解释ruby如何从索引0获取'c'吗?然后,当然,指数1的'b'?等等
编写一个将字符串作为输入的方法,并以相反的顺序返回具有相同字母的新字符串.
难度:容易.
def reverse(string)
reversed_string = ""
i = 0
while i < string.length
reversed_string = string[i] + reversed_string
i += 1
end
return reversed_string
end
puts("reverse(\"abc\") == \"cba\": #{reverse("abc") == "cba"}")
puts("reverse(\"a\") == \"a\": #{reverse("a") == "a"}")
puts("reverse(\"\") == \"\": #{reverse("") == ""}")
Run Code Online (Sandbox Code Playgroud)
reversed_string = string[i] + reversed_string
Run Code Online (Sandbox Code Playgroud)
例如,如果string是"abc",string[0]确实是"a",但在这里,它被放置在开始的reversed_string,而不是结束.reversed_string在每次迭代中加起来:
"a" + "" #string[0] + "" => "a"
"b" + "a" #string[1] + "a" => "ba"
"c" + "ba" #string[2] + "ba"=> "cba"
Run Code Online (Sandbox Code Playgroud)