我有两个字符串。
str_a = "the_quick_brown_fox"
str_b = "the_quick_red_fox"
我想找到两个字符串第一个不同的字符(如
str_a[i] != str_b[i]
)的索引。我知道可以使用以下代码解决这个问题:
def diff_char_index(str_a, str_b)
arr_a, arr_b = str_a.split(""), str_b.split("")
return -1 unless valid_string?(str_a) && valid_string?(str_b)
arr_a.each_index do |i|
return i unless arr_a[i] == arr_b[i]
end
end
def valid_string?(str)
return false unless str.is_a?(String)
return false unless str.size > 0
true
end
diff_char_index(str_a, str_b) # => 10
有没有更好的方法来做这个?
str_a.each_char.with_index
,因为它不会创建中间数组。尽管如此,加一分。 - Amadaneach_char
。 - Jordan Running