题目描述:
给定两个有序的,不含有重复值的链表,请将这两个有序链表进行原地合并,并且保证合并后的链表中,不包含重复数据.
输入输出示例:
Example 1
: 1 -> 3 -> 5 和 1 -> 2 -> 4,合并结果:1 -> 2 -> 3 -> 4 -> 5Example 2
: 2 -> 5 -> 7 和 1 -> 3,合并结果:1 -> 2 -> 3 -> 5 -> 7
题目分析
1 | // 结点结构 |
- 给定两个有序的,不包含重复数据的链表,我们在进行合并的时候,就
有可能存在重复数据
,所以需要进行去重操作; - 这两个有序链表需要进行
原地合并
,所以,我们不能像一般的方法一样,去新建一个头结点. 然后,分别去比较和扫描两个有序链表,将结点中的较小数值的数据 new 出 新的Node ,放在头结点之后.
1 | public Node mergeSortedListWithoutDuplicates(Node node1, Node node2) { |