LeetCode 题解:83. 删除排序链表中的重复元素,递归,JavaScript,详细注释
原题链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/
解题思路:
递归的思路可以认为是从后往前处理。
递归终止条件:如果当前元素是链表的末尾元素,其可能为null,也可能为一个节点,那么直接退出即可。
进入下层递归:假设下一层递归已经删除了重复元素,那么只需要将当前节点与下一层递归返回的节点连接即可。
当前层逻辑:
* 如果当前节点与下一个节点的值相等,则需要删除其中一个节点。
* 由于不知道前一个节点,考虑到删除当前节点的话,就无法保证链表的链接。
* 因此采用直接返回下一个节点的方式,让下一个节点与上一层递归的节点链接,隐式地将当前的节点删除。
版权声明: 本文为 InfoQ 作者【Lee Chen】的原创文章。
原文链接:【http://xie.infoq.cn/article/c9c287e95d589e035774b0deb】。文章转载请联系作者。
评论