睡觉觉觉得 2024-05-06 22:37 采纳率: 85.2%
浏览 3

懒人笔记(C++)每日一练

描述

小东发现了一种叫“懒人笔记”的记笔记的偷懒的办法

例如:

5个a 写作 5a

banana 写作 b2(an)a

这样记笔记就可以省事多啦!

输入
每组数据一个字符串,表示小东使用“懒人笔记”记录的内容,字符串长度不超过100.

字符串只包含数字和小写字母以及括号.

输出
请你输出这个使用“懒人笔记”的方法记录的原字符串的内容.

输入样例 1

a4ple
输出样例 1

ap四个p(包括前面那个)le
输入样例 2

2(china)
输出样例 2

chinachina
输入样例 3

noi2(c2p3(c))
输出样例 3

noicpp3个c(包括前面那个)pp3个c

输入输出里的文字不要!描述

小东发现了一种叫“懒人笔记”的记笔记的偷懒的办法

例如:

5个a 写作 5a

banana 写作 b2(an)a

这样记笔记就可以省事多啦!

输入
每组数据一个字符串,表示小东使用“懒人笔记”记录的内容,字符串长度不超过100.

字符串只包含数字和小写字母以及括号.

输出
请你输出这个使用“懒人笔记”的方法记录的原字符串的内容.

输入样例 1

a4ple
输出样例 1

ap四个p(包括前面那个)le
输入样例 2

2(china)
输出样例 2

chinachina
输入样例 3

noi2(c2p3(c))
输出样例 3

noicpp3个c(包括前面那个)pp3个c

输入输出里的文字不要!

  • 写回答

4条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-05-06 22:38
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题分析: 本题可以用栈来处理,首先遇到非数字和括号就入栈,遇到数字则需要不断读入数字,直到不是数字为止,将读到的数字转化为对应的字符压入栈,遇到左括号入栈,遇到右括号就弹出栈顶元素,直到遇到左括号,这里需要特别注意一下可以根据右括号的下一个元素是否为数字来判断是否需要重复弹出栈顶元素。 举个例子,输入noi2(c2p3(c)),在遍历字符串时: 首先将n、o、i三个字符入栈; 遇到数字2,则不断读入数字2,将对应的字符串cc转化为字符压入栈; 遇到左括号,将左括号入栈; 遇到字符p,将字符p入栈; 遇到数字3,则不断读入数字3,将对应的字符ccc转化为字符压入栈; 遇到左括号,将左括号入栈; 遇到字符c,将字符c入栈; 遇到右括号,弹出栈顶元素c,由于右括号的下一个元素是数字,需要重复弹出栈顶元素p; 再弹出栈顶元素c,遇到左括号,将左括号入栈; 再弹出栈顶元素c,由于右括号的下一个元素是字母,只需弹出一次; 遇到右括号,弹出栈顶元素cc,由于右括号的下一个元素是字母,只需弹出一次; 弹出栈顶元素p; 弹出栈顶元素o; 弹出栈顶元素i; 最后栈里只剩下一个字符n,倒序输出即可。 参考代码:
    评论

报告相同问题?

问题事件

  • 创建了问题 5月6日

悬赏问题

  • ¥15 uniapp的h5项目写一个抽奖动画
  • ¥15 TeleScan不能修改bar
  • ¥100 请问我基于逐飞库写的这个有关于mp u6050传感器的函数,为什么输出的值是固定的?
  • ¥15 hadoop中启动hive报错如下怎么解决
  • ¥15 如何优化QWebEngineView 加载url的速度
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息
  • ¥15 Spring Boot离线人脸识别
  • ¥15 使用Ant Design Pro vue的时候,使用环境变量的时候,构建报错是什么原因
  • ¥15 NRF24L01能发送但是不能接收