看图写树。把类似如图所示的树用”$(A(B()C(E()F())D(G())))$”的形式输出出来。在奇怪的地方卡了好久= =,记录一下。
链接
题解
直接递归输出。主要说一下自己的卡点:最开始代码34行部分写的是$r = y$,WA到怀疑人生,后来突然想到把字符串读入字符数组中时是覆盖操作,也就是说如果新读入的字符串的长度比已经缓存的要短的话,之前的字符串会有残留。例如,buf[10] = “abcdef”,然后再读入新的字符串”xyz”后,buf中的内容是”xyz0ef”(其中0表示字符串结束标志’\0’),自己也就是坑在了这个地方。解决方法有两种,一种是让$r = l$,然后遍历到’\0’时结束,也就是注释的那种写法;另一种是每次都memset一下= =(经历这次事件后一定每次都记得memset…)。
代码
1 | /* |