2
改过自新
您会得到一棵树,按照计算机科学的传统,它的根在顶部,叶在底部。叶子节点用数字标记。您的目标是获取标记的特殊叶子-1并将其向上移动为新的根。 [3, [[16], -1], [4]] --> [[[[4], 3], [16]]] 您可以想象将特殊的叶子旋转到顶部,然后让其余的树垂下来。旋转树时将树保持在平面上,以获取所有分支的正确的从左到右顺序。 新的树除的外,其余都有原始树的叶子-1。 输入: 一棵树,其叶子是不同的正整数,除了的一片叶子-1。树的根将至少有两个分支脱落。 输入以嵌套列表之类[3, [[16], -1], [[4]]]或其字符串表示形式给出。分隔符是可选的,取决于您,但是相邻的数字需要分开。 输出: 以与输入相同的格式输出或打印翻转的树。列表条目的顺序必须正确。就地修改很好。 如果您的输入/输出是一种数据类型,则默认情况下它必须是一种以所需格式打印的数据。不允许使用基本上为您执行任务的内置程序。 测试用例: >> [3, [[16], -1], [4]] [[[[4], 3], [16]]] >> [2, -1] [[2]] >> [44, -1, 12] [[12, 44]] >> [[[[-1]]], [[[[4]]]]] [[[[[[[[[4]]]]]]]]] >> [[1, 2, 3], [4, -1, 6], …