温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
来,别说话,看屏幕,我们今天看这第36题,二叉手术以双向链表,那我们这道题的题意就是要把这个二叉手术变成一个双向链表的排序,那它本来的特点呢,就是。做小于根,小于右,那我们现在排完序之后就是从小到大的顺序。那它的这个顺序也就是左跟右。那我们用递归思想来做一下。首先。我们需要这个,因为双向链表需要两个至少两个节点来进行处理,所以我们先这个。把它。记录两个节点,也就是说它的前一个节点还有一个头节点需要单独记录一下。嗯,他这个一定要用DFS问题来解决。也传入我们当前他给的这个根节点。那最后返回的一定是我们的头节点。那我们现在来实现一下这个。
01:02
D。这就每次传入的当前节点。那首先呢,它要左跟右,但是一定要有个边界停止条件判断,也就是说当前节点如果是为空的话,它就要掉。那首先是进行左侧。我觉得。就是在不断的。将当前节点相助。他走到最头上的时候,要进行这个。跟处理。那也就是说。如果当前。
02:02
这节点啊,我们之前定义它的前一个节点。那前一点这个时候肯定没有复制吗?如果没空的话。没空怎么样?那就是找到了这个头节点的位置。就是我们当前这个值,它的最左下角。那如果他不是这样的。他不是这样的话,呃,我们先继续往下写。他现在有了这个头节点。有了脱节点可以做返回值,那我们现在记录这个当前节点的最左边。
03:01
他应该就是。我们的这个。前一个节点,也就是刚才被空的。那现在我们假设我们。嗯,现在已经有了空的位置,每次要把这个。空值重新复制。也就是说。他要代替我们的当前位置。所以说。他这个else里面肯定就是。就节点前一个节点。那也就是说前一个节点。他这个是向左指的。那也就是说前一个节点的右边节点。就是当前节点。再处理一下右节点。还有19DFS。别当竞技的。
04:01
右节点,也就是当前节点的右节点。提交一下。哇。
我来说两句