1.问题描述:
2.解题思路:新建一个链表,来存储节点。让headA和headB进行比较,数值较小的那个存放在新的链表中。如是其中一个链表遍历完为空链表后,将另一个链表的剩余的所有节点都存进新链表当中。
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode mergeTwoLists(ListNode headA, ListNode headB) {
//新建一个链表
ListNode node=new ListNode(-1)//新的链表头节点,为了好插入数据
ListNode tempNode=node;
//比较两个链表的数值,数值小的存入新的链表中
while(headA!=null&&headB!=null){
if(headA.val>headB.val){
node.next=headB;
node=headB;
headB=headB.next;
}else{
node.next=headA;
node=headA;
headA=headA.next;
}
}
//将不为空的链表剩余的节点值存进新的链表中
if(headA!=null){
node.next=headA;
}
if(headB!=null){
node.next=headB;
}
return tempNode.next
}
}