5 条题解
-
-1
def convert(s1):
st=[0]*100
top=-1
s1=s1+']'
s2=""
t=0
for i in range(len(s1)):
if '0'<=s1[i]<='9':
t=10*t+int(s1[i])
else:
if '0'<=s1[i-1]<='9':
s2=s2+str(t)+' '
t=0
if s1[i]=="(":
top+=1
st[top]=s1[i]
elif s1[i] in '+-*/)':
while top>-1 and yxj[st[top]]>=yxj[s1[i]]:
s2=s2+st[top]+' '
top-=1
if s1[i]==")":
top-=1
else:
top+=1
st[top]=s1[i]
while top>-1:
s2=s2+st[top]+" " top-=1
return s2
yxj={"+":2,"-":2,"*":3,"/":3,"(":0,")":1}
sz=input()
print(convert(sz))
信息
- ID
- 800
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 840
- 已通过
- 167
- 上传者