当前位置: 首页 > 网络应用技术

[问题日记] 1021.删除最外层的支架

时间:2023-03-07 02:33:49 网络应用技术

  该问题的日记的第50个是:1021。删除最外的,简单的

  首先,这个问题有些尴尬,我们需要冷静下来阅读和查看,必须非常简单

  仔细观察这个问题实际上非常简单。实际上,由于标题与标题相同,请删除最外面的括号

  但是这里需要清楚的是删除原始单词的最外层括号

  仔细观察,无论根据标题的含义,我们知道必须包装原始单词。我们只需要找到一个完整的括号

  看到括号,您是否想到使用堆栈进行处理?

  通过遍历堆栈时给出的字符串,以便我们可以识别它是一个括号

  但是我们不仅必须确定它是否是完整的括号,还需要提取原始单词

  因此,我们可以这么认为,我们在冰箱中采取了多少个步骤?

  那么我们可以为这个问题做到这一点吗?

  如图所示:

  如果您提取原始单词,我们可以遵循上述堆栈的思考,并使用堆栈来表示我们需要识别的原始边界,并使用Respana来存储实际的原始边界

  如何找到包含原语的边界?

  例如,当我们遍历图中的字符串时,标识是将堆栈输入堆栈,并识别它以弹出堆栈顶部的字符

  此外,当我们认识到堆栈不是空的时,这意味着目前我们正在遍历原始内容,然后将此部分添加到RES中。

  根据上述逻辑和分析,我们可以转化为以下代码

  代码需要注意,当我们必须检查堆栈不是空的时,我们将看到当前数据作为原始数据的一部分,并将其添加到RES的分辨率中

  编码如下:

  这里的时间复杂性相对清楚。我们只能到达一次,因此时间复杂性为O(n),空间复杂性也为O(n)。因为我们介绍了堆栈空间,所以这里空间的最大长度将是空间的最大长度。

  原始地址:1021。删除最外层的支架

  今天在这里。如果有偏差,请询问斧头

  朋友,您的支持和鼓励是我坚持的动力

  好吧,这次在这里

  技术是开放的,我们的心态应该是开放的。改变太阳的变化,并努力向前迈进。

  我有点魔鬼,尼兹(Nezha),欢迎喜欢这个系列,下次再见?

  原始:https://juejin.cn/post/710299239666905381