递归实现回文+求两个字符串中匹配的最长字符串

1. 递归实现回文: 例如:“abcdedcba”

 

def huiwen(str)
  if str.length <= 1
    return true
  elsif str[0] == str[-1]
    huiwen(str[1..-2])
  else
    return false
  end
end

 

2. 求两个字符串中最大的匹配字符串, 例如:x=“abcdef”, y=“bcdae”, 最大得匹配串"bcd"

 

def maxstring(x, y)
  maxstring = ''
  0.upto(x.length-1) { |i|
    i.upto (x.length-1) { |j|
      tempstring = x[i..j]
      if y.include?(tempstring) and tempstring.length > maxstring.length
        maxstring =  tempstring
      end
    }
  }
  return maxstring
end
 

你可能感兴趣的:(ruby面试题)