擅长:python、mysql、java
<p>制作一个表示结构,包括一个字符串数组和一个“花瓣”的行号。在</p>
<p>rep(leaf)为[0,repr(叶值)]</p>
<p>rep(非叶),给定<code>top = nonleaf.left</code>和<code>bottom = nonleaf.right</code>:</p>
<p>每行rep(顶部)垫空格,如果上面的花瓣,或斜线在适当的位置,如果下面。类似地,在rep(底部)的每一行都填充空格(如果在底部的花瓣之下),或者在上面的适当位置用反斜杠填充。repr(nonleaf)则是[顶部的高度,顶部的填充线,然后是底部的填充线]。在</p>
<p>示例:</p>
<pre><code>rep(a): [0, ["a"]]
rep(b): [0, ["b"]]
rep(ab): [1, ["/"+"a", "\"+"b"]]
rep(c): [0, ["c"]]
rep(d): [0, ["d"]]
rep(cd): [1, ["/"+"c", "\"+"d"]]
rep(e): [0, ["e"]]
rep(cde): [2, [" "+"/c", "/" + "\d", "\" + "e"]]
rep(abcde): [2, [" "+"/a", "/"+"\b", "\ "+" /c", " \" + "/\d", " " + "\e"]]
</code></pre>
<p>注意,在上面的情况下,填充的宽度是花瓣下面的行数;在底部情况下,填充的宽度对应于petal。因此,在(abcde)的情况下,顶部有2行,花瓣1,所以填充是(2-1==1)一个字符;底部有花瓣2,所以填充是2个字符。在</p>
<p>如果您愿意,您还可以在第(petal-1)行的每个非叶处添加一个“u”(在所有其他行上添加一个额外的空格)。在</p>
<p>显然,这些都不是代码(“\”是一个等待发生的语法错误),但从这里实现应该不会太困难。在</p>