来源: https://leetcode.com/problems/valid-parentheses/description
描述
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
An input string is valid if:
Open brackets must be closed by the same type of brackets.
Open brackets must be closed in the correct order.
Note that an empty string is also considered valid.
Example 1:
Input: "()"
Output: true
Example 2:
Input: "()[]{}"
Output: true
Example 3:
Input: "(]"
Output: false
Example 4:
Input: "([)]"
Output: false
Example 5:
Input: "{[]}"
Output: true
function testF(str)
local function isFit(strA, strB)
if strA == '(' and strB == ')' then
return true;
end
if strA == '[' and strB == ']' then
return true;
end
if strA == '{' and strB == '}' then
return true;
end
return false;
end
local arr = {}
for i=1,#str do
local v = string.sub(str,i,i)
if #arr == 0 then
table.insert(arr,v)
else
if(isFit(arr[#arr], v) == true) then
table.remove(arr, #arr)
end
end
end
if(#arr == 0) then
print('true')
return true;
else
print('false')
return false;
end
end
这是lua版本。手头哪个语言方便,就用哪个语言。