问题 5108 --入栈和出栈

5108: 入栈和出栈★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 276  解决: 164
[提交][状态][命题人:]

题目描述

输入两个序列,第一个表示一个栈的入栈序列,判断第二个序列是否为第一个的出栈序列

def isOK(r,c):
    rList=r.split(',')
    cList=c.split(',')
    if rList==[] or cList==[]:
        return False
    if _____(1)_________:
        return False
    TList=[]
    i=0
    j=0
    while i<len(rList):
        TList.append(______(2)_____)
        i+=1
        while TList!=[] and ______(3)_______:
            TList.pop()
            j+=1
    return _____(4)________
ru=input()
chu=input()
if _____(5)_______:
    print('Yes')
else:
    print('No')


输入

第一行为入栈序列,逗号隔开

第二行为出栈序列,逗号隔开

入栈序列和出栈序列,可能包括小写字母、或者小于10的正整数

入栈和出栈的元素个数均不大于20

输出

如果是,则输出Yes

否则输出No

样例输入
Copy
2,4,b,c,d
b,4,2,d,c
样例输出
Copy
Yes

提示

样例2输入

a,1,b

b,a,1

样例2输出

No

样例3输入

a,b,c,d

c,b,a

样例3输出

No

来源

[提交][状态]