Java | Leetcode Java题解之第385题迷你语法分析器

题目:

题解:

java 复制代码
class Solution {
    int index = 0;

    public NestedInteger deserialize(String s) {
        if (s.charAt(index) == '[') {
            index++;
            NestedInteger ni = new NestedInteger();
            while (s.charAt(index) != ']') {
                ni.add(deserialize(s));
                if (s.charAt(index) == ',') {
                    index++;
                }
            }
            index++;
            return ni;
        } else {
            boolean negative = false;
            if (s.charAt(index) == '-') {
                negative = true;
                index++;
            }
            int num = 0;
            while (index < s.length() && Character.isDigit(s.charAt(index))) {
                num = num * 10 + s.charAt(index) - '0';
                index++;
            }
            if (negative) {
                num *= -1;
            }
            return new NestedInteger(num);
        }
    }
}
相关推荐
无心水9 分钟前
【Python实战进阶】7、Python条件与循环实战详解:从基础语法到高级技巧
android·java·python·python列表推导式·python条件语句·python循环语句·python实战案例
一点★10 分钟前
“equals”与“==”、“hashCode”的区别和使用场景
java·开发语言
N***H48616 分钟前
SpringCloud实战十三:Gateway之 Spring Cloud Gateway 动态路由
java·spring cloud·gateway
s***w1121 小时前
SpringMVC新版本踩坑[已解决]
java
老李头喽1 小时前
走进单元测试
java·单元测试
就叫飞六吧1 小时前
Spring MVC 接口命名为什么会有 *.do/actions等身影?
java·spring·mvc
葡萄成熟时 !1 小时前
黑马学生管理系统
java·开发语言
沐浴露z1 小时前
为什么使用SpringAI时通常用Builder来创建对象?详解 【Builder模式】和【直接 new】的区别
java·python·建造者模式
阿杰真不会敲代码1 小时前
Filter与Interceptor深度解析:分清这两个“拦截器”,面试不再掉坑
java·spring boot·面试
带刺的坐椅2 小时前
Solon AI 开发学习6 - chat - 两种 http 流式输入输出
java·ai·solon