合并两个排序的链表

题目描述

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

题目链接: 合并两个排序的链表

代码

/**
* 标题:合并两个排序的链表
* 题目描述
* 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
* 题目链接:
* 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;
}
}
}

【每日寄语】 无论别人怎么看,我绝不打乱自己的节奏。喜欢的事自然可以坚持。

最新文章

  1. &lt;section&gt; 标签
  2. 三维网格形变算法(Gradient-Based Deformation)
  3. ASP.NET Core文章汇总
  4. Luogu2723丑数Humble Numbers【归并排序】
  5. ubuntu 安装 pythonenv
  6. 元组tuple基本操作
  7. 转://Oracle 单引号转义
  8. detours express版本的使用
  9. MySql按字段分组取最大值记录 [此博文包含图片]
  10. Zookeeper权限acl,acl的构成 scheme与id
  11. 使用Builder模式造车
  12. Global Web Index发布社交网络现状调查,Snapchat增速领跑移动端所有App,四分之一Facebook用户年龄在45岁以上【转载+整理】
  13. Codeforces Round #224 (Div. 2) A. Ksenia and Pan Scales
  14. Flutter - Stateful(有状态) 和 stateless(无状态) widgets
  15. 2016级算法第六次上机-B.ModricWang&#39;s FFT : EASY VERSION
  16. 理解java动态代理
  17. 2017 ICPC beijing E - Cats and Fish
  18. 双击 cui
  19. (八)solr7实现搜索框的自动提示并统计词频
  20. Operating System-Process(1)什么是进程&amp;&amp;进程的创建(Creation)&amp;&amp;进程的终止(Termination)&amp;&amp;进程的状态(State)

热门文章

  1. Python3.7.3 + pycharm安装
  2. Ubuntu18.04 显卡驱动安装(解决各种疑难杂症)
  3. 【ASP.NET Core】设置Web API 响应的数据格式——Produces 特性篇
  4. 微信h5下拉隐藏网页,还有取消页面滑动
  5. get方式和post方式的区别
  6. Apache中commons包的各种jar的功能说明
  7. js获取 url?后面的参数取值
  8. GitHub page创建
  9. Kubernetes:健康检查
  10. Note -「线性规划」学习笔记