本文主要是介绍剑指Offer16——合并两个排序的链表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/*合并两个排序的链表* * 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。* * * 递归* 如果表1当前值小于表2当前值,表1当前值成为新链表的表头,否则返回表2的当前值作为新链表的表头。* * */
class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}
}public class Offer16 {public ListNode Merge(ListNode list1,ListNode list2) {ListNode res = null;if(list1==null) {return list2;}if(list2==null) {return list1;}if(list1.val<list2.val) {res=list1;list1.next=Merge(list1.next,list2);}else {res=list2;list2.next=Merge(list1,list2.next);}return res;}}
这篇关于剑指Offer16——合并两个排序的链表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!