这个怎么回答啊,有没有明白的

img


这个题目看都看不懂,有没有明白的人可以回答一下这个是什么意思,要怎么回答啊?

题目大概就是说用下面提供的递归函数,写出输出的结果(假设Stack是一个空栈)
下面的函数是说:
如果传入的二叉树非空,则将根节点的值压入栈中,然后将根节点的右孩子作为一个新的二叉树递归调用自身;
如果当前栈不为空,则弹出栈顶元素

题目解析:
1、将初始的以A为根节点的二叉树传入printTree函数,Tree非空,将Tree.Value即A压入栈,将右孩子即以C为根节点的子树传入printTree函数,函数阻塞等待递归完成(①)
2、以C为根节点的子树非空,将C压入栈,将C的右孩子G传入函数,函数阻塞等待递归完成(②)
3、以G为根节点的子树非空,将G压入栈,将G的右孩子NULL传入函数,函数阻塞等待递归完成(③)
4、传入的树为空,第一个IF返回FALSE;栈非空,弹出栈顶元素G
5、阻塞③继续执行,栈非空,弹出栈顶元素C
6、阻塞②继续执行,栈非空,弹出栈顶元素A
7、阻塞①继续执行,栈为空,跳过,函数结束
所以最后的输出结果应该是GCA,应该是这样。