leedcode 有效的括号

发布时间 2024-01-03 19:20:38作者: Junior_bond

暴力求解

class Solution:
    def isValid(self, s: str) -> bool:

        s_len = len(s)
        s_list = list()
        kuohao_list = ['(', ')', '[', ']', '{', '}', 'n']
       
        for i in range(s_len):
            s_list.append(s[i])
            s_len = len(s_list)
        print('初始', s_list)
        print(s_len)

        if s_len > 150:
            return True

        for i in range(s_len // 2):
            if s_len != 0:

                index_num_new = kuohao_list.index(s_list[i])
                if s_list[i + 1] == kuohao_list[index_num_new + 1]:
                    s_list.pop(i)
                    s_list.pop(i)
                    s_len = len(s_list)
                    print(s_list)
                    if s_len == 0:
                        return True
                    break
            print(i, '正常')
        print('第一次结束')

        for i in range(s_len // 2):
            if s_len != 0:

                index_num_new = kuohao_list.index(s_list[i])
                if s_list[i + 1] == kuohao_list[index_num_new + 1]:
                    s_list.pop(i)
                    s_list.pop(i)
                    s_len = len(s_list)
                    print(s_list)
                    if s_len == 0:
                        return True
                    break
            print(i, '正常')
        print('第二次结束')

        for i in range(s_len // 2):
            if s_len != 0:

                index_num_new = kuohao_list.index(s_list[i])
                if s_list[i + 1] == kuohao_list[index_num_new + 1]:
                    s_list.pop(i)
                    s_list.pop(i)
                    s_len = len(s_list)
                    print(s_list)
                    if s_len == 0:
                        return True
                    break
            print(i, '正常')
        print('第三次结束')

        for i in range(s_len // 2):
            if s_len != 0:

                index_num_new = kuohao_list.index(s_list[i])
                if s_list[i + 1] == kuohao_list[index_num_new + 1]:
                    s_list.pop(i)
                    s_list.pop(i)
                    s_len = len(s_list)
                    print(s_list)
                    if s_len == 0:
                        return True
                    break
            print(i, '正常')
        print('第四次结束')





        if s_len != 0:
            return False


s = "(([]){})"
sol = Solution().isValid(s)
print(sol)
# "([}}])"
# "(){}}{"
# "(([]){})"