21. Merge Two Sorted Lists--java
2016-04-26 13:00
651 查看
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if(l1==null)
return l2;
if(l2==null)
return l1;
ListNode res,tmp;
res=tmp=new ListNode(0);
while(l1!=null && l2!=null){
ListNode myTmp=null; //新建一个节点,然后让指针指向该节点
if(l1.val<l2.val){
myTmp=new ListNode(l1.val);
l1=l1.next;
}
else{
myTmp=new ListNode(l2.val);
l2=l2.next;
}
tmp.next=myTmp;
tmp=tmp.next;
}
while(l1!=null){
ListNode myTmp=null;
myTmp=new ListNode(l1.val);
l1=l1.next;
tmp.next=myTmp;
tmp=tmp.next;
}
while(l2!=null){
ListNode myTmp=null;
myTmp=new ListNode(l2.val);
l2=l2.next;
tmp.next=myTmp;
tmp=tmp.next;
}
return res.next;
}
}
链表操作的关键在于链接不断。
如:
ListNode head;
ListNode list=head;
list=null;
return head;
此时返回的还是原来的链表,没有任何改变。
list.next=list.next.next;
return head;
此时返回的是删掉了第二个节点的链表。(24、19、360)
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if(l1==null)
return l2;
if(l2==null)
return l1;
ListNode res,tmp;
res=tmp=new ListNode(0);
while(l1!=null && l2!=null){
ListNode myTmp=null; //新建一个节点,然后让指针指向该节点
if(l1.val<l2.val){
myTmp=new ListNode(l1.val);
l1=l1.next;
}
else{
myTmp=new ListNode(l2.val);
l2=l2.next;
}
tmp.next=myTmp;
tmp=tmp.next;
}
while(l1!=null){
ListNode myTmp=null;
myTmp=new ListNode(l1.val);
l1=l1.next;
tmp.next=myTmp;
tmp=tmp.next;
}
while(l2!=null){
ListNode myTmp=null;
myTmp=new ListNode(l2.val);
l2=l2.next;
tmp.next=myTmp;
tmp=tmp.next;
}
return res.next;
}
}
链表操作的关键在于链接不断。
如:
ListNode head;
ListNode list=head;
list=null;
return head;
此时返回的还是原来的链表,没有任何改变。
list.next=list.next.next;
return head;
此时返回的是删掉了第二个节点的链表。(24、19、360)
相关文章推荐
- Java泛型 extends,super和通配符的理解
- hdoj2004(java)成绩转换
- KMP算法
- hdoj2003求绝对值(java)
- Java基础(十),流
- Struts中使用json-lib-2.4-jdk15.jar时抛出Source not found
- 利用递归解决汉诺塔问题
- 利用递归解决汉诺塔问题
- Struts2基础知识(二)
- Java使用OpenCV人脸检测
- Java使用OpenCV
- spring通过注解实现声明式事务控制
- Eclipse使用jUnit4对MapReduce程序进行单元测试
- spring之context
- 详细介绍Java垃圾回收机制
- RabbitMQ学习之Java客户端连接测试(二)
- springmvc(一)快速入门(传统版)
- Java锁----Synchronized实现原理
- struts2简单入门示例
- Spring—— Spring Core