彪码野郎

  • 首页

  • 分类

  • 归档

打印两个有序链表的公共部分

发表于 2019-09-04 阅读次数:

题目

给定两个有序链表的头指针head1和head2,打印两个链表的公共部分。

思路

这题目其实和快排的merge部分有点相似,忘了的兄弟萌可以去回忆一下。

因为两链表都是有序的,所以可以直接遍历对比。

两个链表比较两者当前的值,相等的话就输出并一起走一步,若是不同,较小者走一步,重复以上过程直到遍历完其中一个链表即可。

实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

public static void printCommonPart(Node head1, Node head2) {

while(head1 != null && head2 != null) {
if (head1.value > head2.value) {
head2 = head2.next;
}else if(head2.value > head1.value) {
head1 = head1.next;
}else {
System.out.println(head1.value+" ");
head1 = head1.next;
head2 = head2.next;
}
}
}
在行列都排好序的矩阵中找数
经典排序:归并排序
  • 文章目录
  • 站点概览
Weapon

Weapon

40 日志
6 分类
4 标签
  1. 1. 题目
  2. 2. 思路
  3. 3. 实现
© 2019 Weapon
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Pisces v7.3.0