作者Paravion (ElonMusk)
看板Grad-ProbAsk
标题101交大 资演 第1大题 第2题
时间Tue Jan 23 15:42:20 2018
题目
https://i.imgur.com/35Y4BOm.jpg
爬文很少遇到第一题就卡关的
追踪顺序如下
按照题目的要求一开始 r=20
20有左子树18所以递归unknown(18)
18有左子树13所以递归unknown(13)
13没有左子树所以继续往下走
13有右子树3所以递归unknown(3)
3没有左子树所以继续往下走
3没有右子树所以继续往下走
q=p->left; //将3的左子树赋值给q,3的左子树是NULL所以q也是NULL
p->left = p->right; // 将3的右子树赋值给左子树,3的右子树是NULL所以左子树赋值完也是NULL
p->right=q; //将q赋值给3的左子树,q是NULL所以左子树赋值完也是NULL
结束
这一题的code看起来是要进行左右子树交换
但是一路call到最下层却要到左右子树皆NULL的node才不会跳出
最後做三行没意义的NULL=NULL程式就跳出了
请问我的追踪过程是否有误?
-----
Sent from JPTT on my iPhone
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.15.50.43
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1516693345.A.0A5.html
1F:推 djmez: 被呼叫的递回结束回呼叫的下一行继续执行 01/23 15:46
2F:→ djmez: 你的unknown(13)看到unknown(3)就会从第四行继续跑下去了 01/23 15:50
3F:→ djmez: unknown(18)也是比照办理 01/23 15:50
4F:→ Paravion: 了解 感谢回覆 01/23 16:11
5F:推 bightm80144: 请问一下第一大题的答案是? 01/23 17:06
6F:→ bightm80144: 是CEB吗 01/23 17:07
7F:推 djmez: CEB没错 01/23 17:10
8F:推 bightm80144: 谢谢! 01/23 17:17