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

题目:

题解:

python 复制代码
class Solution:
    def deserialize(self, s: str) -> NestedInteger:
        index = 0

        def dfs() -> NestedInteger:
            nonlocal index
            if s[index] == '[':
                index += 1
                ni = NestedInteger()
                while s[index] != ']':
                    ni.add(dfs())
                    if s[index] == ',':
                        index += 1
                index += 1
                return ni
            else:
                negative = False
                if s[index] == '-':
                    negative = True
                    index += 1
                num = 0
                while index < len(s) and s[index].isdigit():
                    num *= 10
                    num += int(s[index])
                    index += 1
                if negative:
                    num = -num
                return NestedInteger(num)

        return dfs()
相关推荐
杨超越luckly4 分钟前
基于 Overpass API 的城市电网基础设施与 POI 提取与可视化
python·数据可视化·openstreetmap·电力数据·overpass api
q***23571 小时前
python的sql解析库-sqlparse
数据库·python·sql
18你磊哥1 小时前
Django WEB 简单项目创建与结构讲解
前端·python·django·sqlite
月殇_木言2 小时前
Python期末复习
开发语言·python
Booksort2 小时前
【LeetCode】算法技巧专题(持续更新)
算法·leetcode·职场和发展
小白程序员成长日记2 小时前
力扣每日一题 2025.11.28
算法·leetcode·职场和发展
Swift社区2 小时前
LeetCode 435 - 无重叠区间
算法·leetcode·职场和发展
sin_hielo2 小时前
leetcode 1018
算法·leetcode
橘颂TA3 小时前
【剑斩OFFER】算法的暴力美学——只出现一次的数字 ||
算法·leetcode·动态规划
BBB努力学习程序设计3 小时前
Python面向对象编程:从代码搬运工到架构师
python·pycharm