最长公共前缀
给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。
示例 1:
输入: "()"
输出: true
示例 2:
输入: "()[]{}"
输出: true
示例 3:
输入: "(]"
输出: false
示例 4:
输入: "([)]"
输出: false
示例 5:
输入: "{[]}"
输出: true
# @param {String} s
# @return {Boolean}
def is_valid(s)
return false if s.length.odd?
obj = {
"[" => "]",
"{" => "}",
"(" => ")"
}
#return false if obj[s[0]] != s[s.length-1]
index = 0
while index < s.length do
if obj[s[index]] != s[index+1]
index += 1
next
else
s.slice!(index, 2)
index = 0
end
end
return false if s.length > 0
return true
end