Codility每周一课:L7 Stacks and Queue

作者: AiFany | 来源:发表于2019-01-28 22:39 被阅读1次
    7.png
    P7.3 Nesting

    Determine whether a given string of parentheses (single type) is properly nested.

    • P7.3 嵌套
      判断一个给定的串(单型)是否是括号嵌套

    由N个字符组成的字符串S,只要满足下面描述中的任何一项,都为正确嵌套:

    1. S是空的;

    2. S的形式"(U)",其中U是正确嵌套的字符串;

    3. S的形式为"VW",其中V和W是正确嵌套的字符串;

    例如,字符串"(()(())())"是正确嵌套,但字符串"())"不是正确嵌套。

    编写函数:

    def solution(S)
    

    如果字符串S是正确嵌套,则返回1,否则返回0。

    例如,给定S="(()(())())",函数应返回1,给定S="())",函数应返回0。

    假定:

    1. N是区间[0..1000000]内的整数;

    2. 字符串S只包含字符"(" 和 ")"中的1种或者2种;

    • 解题思路

    括号嵌套问题。

    • Python3代码
    # -*- coding:utf-8 -*-
    # &Author  AnFany
    # Lesson 7:Stacks and Queues
    # P 7.3 Nesting
    
    
    def solution(S):
        """
        判断字符串是否为正确的嵌套
        :param S: 字符串
        :return: 是正确的返回1,否则返回0
        """
        left_list = []
        for i in S:
            if i == '(':
                left_list.append(1)  # 可以添加任何元素,
            else:
                if len(left_list) == 0:
                    return 0
                else:
                    left_list.pop(0)  # 因为都是小括号,删除列表中的第一个或者最后一个,都是一样的
        if len(left_list) != 0:
            return 0
        else:
            return 1
    
    
    • 结果
    image

    点击获得更多编程练习题。欢迎Follow,感谢Star!!! 扫描关注微信公众号pythonfan,获取更多。

    image image

    相关文章

      网友评论

        本文标题:Codility每周一课:L7 Stacks and Queue

        本文链接:https://www.haomeiwen.com/subject/ovazjqtx.html