Leetcode 385. Mini Parser
来源:互联网 发布:e博乐网络 编辑:程序博客网 时间:2024/05/20 18:43
Given a nested list of integers represented as a string, implement a parser to deserialize it.
Each element is either an integer, or a list -- whose elements may also be integers or other lists.
Example 1:
Given s = "324",You should return a NestedInteger object which contains a single integer 324.Example 2:
Given s = "[123,[456,[789]]]",Return a NestedInteger object containing a nested list with 2 elements:1. An integer containing value 123.2. A nested list containing two elements: i. An integer containing value 456. ii. A nested list with one element: a. An integer containing value 789.
<span style="font-size:18px;">这道题可以利用栈来解决</span>
</pre><pre name="code" class="cpp">
</pre><pre name="code" class="cpp">class Solution {public:NestedInteger deserialize(string s) {if (s.empty()) return NestedInteger();if (s[0] != '[') return NestedInteger(std::stoi(s));stack<NestedInteger> stk;for (int i = 0, j = 0; i < s.size(); ++i){if (s[i] == '['){stk.push(NestedInteger());j = i + 1;}else if (s[i] == ','){if (s[i - 1] >= '0' && s[i - 1] <= '9')stk.top().add(NestedInteger(std::stoi(s.substr(j, i - j))));j = i + 1;}else if (s[i] == ']'){if (s[i - 1] >= '0' && s[i - 1] <= '9')stk.top().add(NestedInteger(std::stoi(s.substr(j, i - j))));if (stk.size() > 1){NestedInteger & e = stk.top();stk.pop();stk.top().add(e);}// may be [123, [456], [789]]j = i + 1;}}return stk.top();}};
0 0
- Leetcode 385. Mini Parser
- [leetcode] 385. Mini Parser
- LeetCode:385. Mini Parser
- Leetcode 385. Mini Parser
- Leetcode 385. Mini Parser
- Leetcode 385. Mini Parser
- [LeetCode]385. Mini Parser
- [leetcode]385. Mini Parser
- leetcode 385. Mini Parser
- LeetCode—385. Mini Parser
- Leetcode——385. Mini Parser
- [leetCode刷题笔记]385. Mini Parser
- [Leetcode] 385. Mini Parser 解题报告
- 【Leetcode】Mini Parser
- leetcode 385 Mini Parser
- Leetcode | Mini Parser
- leetcode 385 Mini Parser
- LeetCode.385 Mini Parser
- shell 脚本安装PHP扩展
- TEST-20160814效果图
- LeetCode--No.232--Implement Queue using Stacks
- PHP错误提示含义及关闭方法
- ajax提交富文本,内容被截断,解决方法及思路
- Leetcode 385. Mini Parser
- Codeforces626C 【二分】
- 欢迎使用CSDN-markdown编辑器
- 面试问题
- Mac 查看 80 端口被占的pid
- UVA - 1339 Ancient Cipher
- 浅析C语言中printf(),sprintf(),scanf(),sscanf()的用法和区别
- 王爽《汇编语言》实验16——编写包含多个功能子程序的中断例程
- 我的淘宝简单实现