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);
        }
    }
}
相关推荐
HAPPY酷20 小时前
构造与析构:C++ 中对象的温柔生灭
java·jvm·c++
lang2015092820 小时前
Java JSR 250核心注解全解析
java·开发语言
czhc114007566320 小时前
协议 25
java·开发语言·算法
逆光的July20 小时前
如何解决超卖问题
java
落花流水 丶21 小时前
Java 集合框架完全指南
java
lang2015092821 小时前
Java WebSocket API:JSR-356详解
java·python·websocket
jiang_changsheng21 小时前
环境管理工具全景图与深度对比
java·c语言·开发语言·c++·python·r语言
计算机学姐21 小时前
基于SpringBoot的民宿预定管理系统【三角色+个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·mysql·信息可视化·intellij-idea·推荐算法
yaoxin52112321 小时前
314. Java Stream API - 使用 Collectors.partitioningBy() 分区元素
java·windows
noBt21 小时前
Windows IDEA 卡顿严重
java·ide·intellij-idea