思路:
根据中序序列(左根右)和后序序列(左右根)可以推出来先序序列。后序序列最后一个是根,让后在中序序列中找到根,继而可找到左右子树。再在后序序列中找到左右子树,继而可继续找到根。代码思路:1.输出根节点2.找到左右子树3.对左右子树递归调用dfs。
反思:
1.学习到了string类的find()函数,查找某个字符返回字符的下标。eg:str.find('b')。在str中查找b字符。如果不止一个b,则返回第一个的位置。如果未找到则返回npos。如果想所有位置都查找到可以循环处理,且查找的时候从查到的下一个位置开始。eg:str.find('b',3)。从下标3开始查找b。
2.学习了string类的substr函数,提取str字符串的子字符串。eg:str.substr(pos,len).提取从pos位置开始长度为len的字符串。eg:str.substr(pos)。提取从pos位置开始的后面所有字符。
需要使用<string>头文件夹。
3.在dfs函数中还需要加上dfs函数执行判断条件。字符串长度>0。