返回介绍

lcp / LCP 80. 生物进化录 / README

发布于 2024-06-17 01:04:41 字数 1683 浏览 0 评论 0 收藏 0

LCP 80. 生物进化录

题目描述

在永恒之森中,存在着一本生物进化录,以 一个树形结构 记载了所有生物的演化过程。经过观察并整理了各节点间的关系,parents[i] 表示编号 i 节点的父节点编号(根节点的父节点为 -1)。

为了探索和记录其中的演化规律,队伍中的炼金术师提出了一种方法,可以以字符串的形式将其复刻下来,规则如下:

  • 初始只有一个根节点,表示演化的起点,依次记录 01 字符串中的字符,
  • 如果记录 0,则在当前节点下添加一个子节点,并将指针指向新添加的子节点;
  • 如果记录 1,则将指针回退到当前节点的父节点处。

现在需要应用上述的记录方法,复刻下它的演化过程。请返回能够复刻演化过程的字符串中, 字典序最小01 字符串。

注意:

  • 节点指针最终可以停在任何节点上,不一定要回到根节点。

示例 1:

输入:parents = [-1,0,0,2]

输出:"00110"

解释:树结构如下图所示,共存在 2 种记录方案: 第 1 种方案为:0(记录编号 1 的节点) -> 1(回退至节点 0) -> 0(记录编号 2 的节点) -> 0((记录编号 3 的节点)) 第 2 种方案为:0(记录编号 2 的节点) -> 0(记录编号 3 的节点) -> 1(回退至节点 2) -> 1(回退至节点 0) -> 0(记录编号 1 的节点) 返回字典序更小的 "00110" > image.png{:width=120px}进化 (3).gif{:width=320px}

示例 2:

输入:parents = [-1,0,0,1,2,2]

输出:"00101100"

提示:

  • 1 <= parents.length <= 10^4
  • -1 <= parents[i] < i (即父节点编号小于子节点)

解法

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文