给定一个化学式formula(作为字符串),返回每种原子的数量。

原子总是以一个大写字母开始,接着跟随0个或任意个小写字母,表示原子的名字。

如果数量大于 1,原子后会跟着数字表示原子的数量。如果数量等于 1 则不会跟数字。例如,H2O 和 H2O2 是可行的,但 H1O2 这个表达是不可行的。

两个化学式连在一起是新的化学式。例如 H2O2He3Mg4 也是化学式。

一个括号中的化学式和数字(可选择性添加)也是化学式。例如 (H2O2) 和 (H2O2)3 是化学式。

给定一个化学式,输出所有原子的数量。格式为:第一个(按字典序)原子的名子,跟着它的数量(如果数量大于 1),然后是第二个原子的名字(按字典序),跟着它的数量(如果数量大于 1),以此类推。

示例 1:

输入:
formula = "H2O"
输出: "H2O"
解释:
原子的数量是 {'H': 2, 'O': 1}。

示例 2:

输入:
formula = "Mg(OH)2"
输出: "H2MgO2"
解释:
原子的数量是 {'H': 2, 'Mg': 1, 'O': 2}。

示例 3:

输入:
formula = "K4(ON(SO3)2)2"
输出: "K4N2O14S4"
解释:
原子的数量是 {'K': 4, 'N': 2, 'O': 14, 'S': 4}。

注意:

  • 所有原子的第一个字母为大写,剩余字母都是小写。
  • formula的长度在[1, 1000]之间。
  • formula只包含字母、数字和圆括号,并且题目中给定的是合法的化学式。

726. 原子的数量相关推荐

  1. LeetCode 726. 原子的数量

    给定一个化学式formula(作为字符串),返回每种原子的数量. 原子总是以一个大写字母开始,接着跟随0个或任意个小写字母,表示原子的名字. 如果数量大于 1,原子后会跟着数字表示原子的数量.如果数量 ...

  2. LeetCode-726. 原子的数量(python2)

    题目链接: 726.原子数量 题目难度:困难 题目描述: 给定一个化学式formula(作为字符串),返回每种原子的数量. 原子总是以一个大写字母开始,接着跟随0个或任意个小写字母,表示原子的名字. ...

  3. LeetCode-726 原子的数量 递归

    LeetCode-726 原子的数量 递归 题目链接:LeetCode-726 原子的数量 给你一个字符串化学式 formula ,返回 每种原子的数量 . 原子总是以一个大写字母开始,接着跟随 0 ...

  4. 原子的数量(容易理解)

    题目描述 给定一个化学式formula(作为字符串),返回每种原子的数量. 原子总是以一个大写字母开始,接着跟随0个或任意个小写字母,表示原子的名字. 如果数量大于 1,原子后会跟着数字表示原子的数量 ...

  5. C#LeetCode刷题-递归

    递归篇 # 题名 刷题 通过率 难度 687 最长同值路径 30.8% 简单 698 划分为k个相等的子集 30.7% 中等 726 原子的数量 37.2% 困难 761 特殊的二进制序列 50.5% ...

  6. C#LeetCode刷题-栈

    栈篇 # 题名 刷题 通过率 难度 20 有效的括号 C#LeetCode刷题之#20-有效的括号(Valid Parentheses) 33.0% 简单 42 接雨水 35.6% 困难 71 简化路 ...

  7. C#LeetCode刷题-哈希表

    哈希表篇 # 题名 刷题 通过率 难度 1 两数之和 C#LeetCode刷题之#1-两数之和(Two Sum) 42.8% 简单 3 无重复字符的最长子串   24.2% 中等 18 四数之和   ...

  8. leetcode---栈

    单个栈计算 20. 有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须 ...

  9. Leetcode题目分类指南(单独刷题或学习算法书籍配合使用)

    Leetcode题目分类指南 笔者在学习<算法导论>同时,希望能够配合Leetcode的题目进行分类模块化练习,该分类为笔者自己根据做题学习经验,结合<算法导论>的内容,给出L ...

最新文章

  1. 施一公:优秀博士如何养成(全文) 清华大学演讲
  2. C# 指定字符串截取方法
  3. 利用Azure DevOps建设ExcelBDD的持续集成
  4. Face++ 论文解读:一种新的行人重识别度量学习方法 | PaperDaily #20
  5. c++ string 长度限制_String 有多长?
  6. VTK:可视化之LODProp3D
  7. 原生js制作页面长时间未操作退出登录
  8. goland 实用键
  9. 文件系统ext3的文件大小限制
  10. 如何利用计算机多核,如何利用多核电脑实现Matlab的并行运算
  11. [转]impala操作hive数据实例
  12. python机器学习案例系列教程——决策树(ID3、C4.5、CART)
  13. vtkContourFilter等值面(线)
  14. 【渝粤教育】广东开放大学 岭南文化概论 形成性考核 (45)
  15. 在python中计算夏普比率和特雷诺比率
  16. python爬取网抑云歌曲下载
  17. sqli-labs闯关笔记(Challenges)
  18. asp前端日历_ASP完成的日历代码实例程序
  19. NPOI导出数据到Word
  20. Oracle笔记 之 递归查询

热门文章

  1. 屏蔽跑跑卡丁车结束后的广告
  2. 使用hibernate映射oracle两个表空间的表,Hibernate每个具体类一张表映射(使用XML)
  3. pycharm设置ctrl+滚轮实现字体缩放
  4. 如何深入掌握C语言指针(详解)
  5. 海量文件、超大文件,如何实现高速传输?
  6. 追忆年华――孩子时代的玩具
  7. 品牌做小红书投放,究竟选择KOL还是KOC?
  8. 一个人怎样才算见过世面?
  9. 用关联规则和聚类探索药物配伍规律
  10. python游戏编程培训