题目版权归来源方所有
题目版权归来源方所有
判题结果
【解题思路】: 【栈】
1.分割等号 ‘=’ ,左右两边是一致的解题方式
2.再分割加号 ‘+’ ,对每一个化学式进行统计
3.对于存在括号嵌套的情况下,使用栈进行匹配
【示例】:以 4Al(Cu(OH)2)3 为例(瞎写的,我的化学已经还给老师了)
1.先获得化学式最前面的系数,在这里是 4,如果没有就设为 1;
2.有两个栈,一个num存放数字,一个fu(随便起的)存放符号(包括括号和化学式的项)
一开始:
num 1 1 1 1
fu Al ( Cu ( O H
如果化学式后面没有系数,那么就设为1,在这里需要判断是O这种只有一个大写字母项的形式还是Al这种两个字母的项的形式。遇到左括号直接入符号栈。
遇到 ‘)’:
num 1 1 2 2
fu Al ( Cu O H
一直出栈到遇到左括号,用辅助栈把因为括号出栈的数字和符号暂时存储&#