当前位置: 首页 > news >正文

分类信息建站系统陕西四通建设工程有限责任公司网站

分类信息建站系统,陕西四通建设工程有限责任公司网站,成都旅游景点攻略自由行攻略,网站管理系统题目 给定一个经过编码的字符串#xff0c;返回它解码后的字符串。 编码规则为: k[encoded_string]#xff0c;表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的#xff1b;输入字符串中没有额外的空格#x…题目 给定一个经过编码的字符串返回它解码后的字符串。 编码规则为: k[encoded_string]表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的输入字符串中没有额外的空格且输入的方括号总是符合格式要求的。 此外你可以认为原始数据不包含数字所有的数字只表示重复的次数 k 例如不会出现像 3a 或 2[4] 的输入。 示例 1 输入s 3[a]2[bc] 输出aaabcbc示例 2 输入s 3[a2[c]] 输出accaccacc示例 3 输入s 2[abc]3[cd]ef 输出abcabccdcdcdef示例 4 输入s abc3[cd]xyz 输出abccdcdcdxyz提示 1 s.length 30s 由小写英文字母、数字和方括号 [] 组成s 保证是一个 有效 的输入。s 中所有整数的取值范围为 [1, 300]  解答 源代码 class Solution {public String decodeString(String s) {LinkedListCharacter stack new LinkedList();for (char ch : s.toCharArray()) {if (ch ! ]) {stack.offerLast(ch);} else {StringBuilder sb new StringBuilder();// 1. 将[之前的字符都出栈while (stack.peekLast() ! [) {sb.insert(0, stack.pollLast());}String str sb.toString();// 将[出栈stack.pollLast();// 2. 将数字字符出栈sb new StringBuilder();while (!stack.isEmpty() Character.isDigit(stack.peekLast())) {sb.insert(0, stack.pollLast());}int num Integer.parseInt(sb.toString());// 3. 进行解码 sb new StringBuilder();while (num 0) {sb.append(str);num--;}// 4. 将解码后的字符都放入栈中for (char c : sb.toString().toCharArray()) {stack.offerLast(c);}}}// 将栈中解码后的字符都拿出来StringBuilder code new StringBuilder();while (!stack.isEmpty()) {code.insert(0, stack.pollLast());}return code.toString();} } 总结 这题思路倒是不难写只是每次遇到字符串的时候细节问题一大堆不停调试编译捂脸。 方括号会嵌套那么我们需要一个个进行解码。如 3[a2[c]] 我们需要先解码为 3[acc] 再解码为 accaccacc 。 遍历字符串把每个字符放入栈中直到遇到一个 ] 这就说明已经读完一个完整的方括号内容了那么此时进行出栈直到出栈到 [ 将这期间的字符保存起来。 这里要注意一下栈的特点是先进后出所以这里出栈时需要用到 StringBuilder.insert()函数把每个字符插入到首部。 字符保存完之后把 [ 出栈接下来一定是这个方括号对应的数字然后将数字对应的字符出栈保存起来。 根据这个方括号内的字符和对应的数字得到一个新的字符串将这个字符串的字符都压入栈中。 遍历完整个字符串栈中的字符就是我们所要求的将字符一个个出栈转换为字符串后返回。
http://www.yutouwan.com/news/369793/

相关文章:

  • 搭建免费网站建筑企业网站设计
  • 电影网站制作模版网红营销的优势与劣势
  • 重庆建网站有哪些什么网站做视频赚钱
  • 台州网站建设慕枫php网站开发是什么
  • django怎么做网站网络营销对企业的作用
  • 网站建设教学视频做滤芯的网站
  • 西宁网站建设制作公司广告艺术设计专业介绍
  • 如何找回网站后台密码免费网站去哪找
  • 个人网站建设方案书wordpress主题制作实例
  • 宿州网站建设优化如何免费注册网址
  • 做网站的详细教程自贡建设局网站
  • 怎么制作网站导航页网页设计报告结束语
  • 在线做网站教程淮南市网站建设
  • c 博客网站开发教程阿森纳英超积分
  • 河北省唐山市建设规划局的网站一个虚拟主机可以放几个网站
  • 苏州高端网站定制263邮箱登录登录入口
  • 网站系统目前运行稳定湖北企业商城网站建设
  • 域名购买哪个网站好石家庄哪里可以做网站
  • 全景网站开发多少钱怎么创建自己的公司网站
  • 中国制造网 做网站费用远程管理wordpress站群
  • wordperss网站做负载均衡用discuz做的网站
  • 拖拽式建站源码企业网站的制作及维护
  • 天津滨海新区小程序网站建设个体工商户年报入口官网
  • wap网站程序公司网站设计模板
  • 有什么网站可以帮人做模具吗内网网站建设软件
  • 建设公司内网网站的意义能建网站的app
  • 舟山网站建设seo优化seo哪家好
  • 温州网站链接怎么做怎么把代码添加网站
  • 青岛网站建设方案公司wordpress 上一篇文章
  • 莆田seo全网营销旺道seo推广