Codility每周一课大数据,机器学习,人工智能

Codility每周一课:L7 Stacks and Queue

2019-01-28  本文已影响1人  AiFany
7.png
P7.3 Nesting

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

由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种;

括号嵌套问题。

# -*- 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
上一篇下一篇

猜你喜欢

热点阅读