[leetcode] 20. valid parentheses

Leetcode link for this question

Discription:

Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[‘ and ‘]’, determine if the input string is valid.

The brackets must close in the correct order, “()” and “()[]{}” are all valid but “(]” and “([)]” are not.

Analyze:

Code 1 :

class Solution(object):
    def isValid(self, s):
        """
        :type s: str
        :rtype: bool
        """
        li=[]
        left=['(','{','[']
        for i in s:
            if i in left:
                li.append(i)
            elif not li:
                return False
            elif i ==')' :
                if li[-1]!='(':
                    return False
                else:
                    li.pop()
            elif i =='}' :
                if li[-1]!='{':
                    return False
                else:
                    li.pop()
            elif  i ==']' :
                if li[-1]!='[':
                    return False
                else:
                    li.pop()
        if li:
            return False
        else:
            return True         

Submission Result:

Status: Accepted
Runtime: 44 ms
Ranking: beats 72.46%