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