package 牛客网练习题;
//public class ListNode {
// int val;
// ListNode next = null;
//
// ListNode(int val) {
// this.val = val;
// }
//}
public class 输入两个单增链表_合成单调不减链表 {
public ListNode Merge(ListNode list1, ListNode list2) {
//判断链表是否为空
if(list1==null) {
return list2;
}else if(list2==null) {
return list1;
}
//初始化中间变量
ListNode temp=null;
//从头节点开始比较两个链表节点的值
if(list1.val>list2.val) {
//将第二个链表的当前节点赋给合并链表的当前节点
temp=list2;
//将第一个链表的当前节点,
//赋给合并链表的下一个节点,
//并将第二个链表的指针指向该合并链表的下一个节点。
temp.next=Merge(list1, list2.next);
}else{
//将第一个链表的当前节点赋给合并链表的当前节点
temp=list1;
//将第二个链表的当前节点,
//赋给合并链表的下一个节点,
//并将第一个链表的指针指向该合并链表的下一个节点。
temp.next=Merge(list1.next,list2);
}
return temp;
}
}
【JAVA】输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
最新推荐文章于 2020-09-19 22:31:58 发布