在药剂,(链接)的列表格式中的[head | tail]
其中头可以是任何东西,和尾是列表的其余部分的列表,以及[]
-空列表-是唯一的例外。
列表也可以写成[1, 2, 3]
等价于[1 | [2 | [3 | []]]]
您的任务是按照说明转换列表。输入将始终是有效列表(在Elixir中),仅包含与regex匹配的数字\[(\d+(, ?\d+)*)?\]
。您可以使用带空格的输入(每个逗号后一个空格)或不带空格的输入。输出可以带空格(每个空格前后一个空格|
)或不带空格。
对于带前导零的输入,您可以不带零或带零输出。
输入必须与输出一样作为字符串(如果编写函数)。
例子
[] -> []
[5] -> [5 | []]
[1, 7] -> [1 | [7 | []]]
[4, 4, 4] -> [4 | [4 | [4 | []]]]
[10, 333] -> [10 | [333 | []]]
相关,而不是重复,因为这部分涉及]
到末尾添加模式。此外,这里的Haskell答案与那里的答案完全不同。