JZ-016-合并两个排序的链表
2024-09-06 13:59:40
合并两个排序的链表
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
题目链接: 合并两个排序的链表
代码
/**
* 标题:合并两个排序的链表
* 题目描述
* 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
* 题目链接:
* https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337?tpId=13&&tqId=11169&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
*/
public class Jz16 {
public ListNode merge(ListNode list1, ListNode list2) {
if (list1 == null && list2 == null) {
return null;
}
if (list1 == null) {
return list2;
}
if (list2 == null) {
return list1;
}
ListNode result = new ListNode(-1);
ListNode next = result;
while (list1 != null || list2 != null) {
if (list1 == null) {
next.next = list2;
break;
} else if (list2 == null) {
next.next = list1;
break;
} else if (list1.val < list2.val) {
next.next = list1;
list1 = list1.next;
} else {
next.next = list2;
list2 = list2.next;
}
next = next.next;
}
return result.next;
}
public static void main(String[] args) {
ListNode list1 = new ListNode(1);
list1.next = new ListNode(3);
list1.next.next = new ListNode(5);
ListNode list2 = new ListNode(2);
list2.next = new ListNode(4);
list2.next.next = new ListNode(6);
System.out.println("after merge");
Jz16 jz16 = new Jz16();
ListNode result = jz16.merge(list1, list2);
ListNode cur = result;
while (cur != null) {
System.out.print(cur.val + " ");
cur = cur.next;
}
}
}
【每日寄语】 无论别人怎么看,我绝不打乱自己的节奏。喜欢的事自然可以坚持。
最新文章
- <;section>; 标签
- 三维网格形变算法(Gradient-Based Deformation)
- ASP.NET Core文章汇总
- Luogu2723丑数Humble Numbers【归并排序】
- ubuntu 安装 pythonenv
- 元组tuple基本操作
- 转://Oracle 单引号转义
- detours express版本的使用
- MySql按字段分组取最大值记录 [此博文包含图片]
- Zookeeper权限acl,acl的构成 scheme与id
- 使用Builder模式造车
- Global Web Index发布社交网络现状调查,Snapchat增速领跑移动端所有App,四分之一Facebook用户年龄在45岁以上【转载+整理】
- Codeforces Round #224 (Div. 2) A. Ksenia and Pan Scales
- Flutter - Stateful(有状态) 和 stateless(无状态) widgets
- 2016级算法第六次上机-B.ModricWang&#39;s FFT : EASY VERSION
- 理解java动态代理
- 2017 ICPC beijing E - Cats and Fish
- 双击 cui
- (八)solr7实现搜索框的自动提示并统计词频
- Operating System-Process(1)什么是进程&;&;进程的创建(Creation)&;&;进程的终止(Termination)&;&;进程的状态(State)