《剑指offer》合并两个排序的链表
生活随笔
收集整理的這篇文章主要介紹了
《剑指offer》合并两个排序的链表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:輸入兩個單調遞增的鏈表,輸出兩個鏈表合成后的鏈表,當然我們需要合成后的鏈表滿足單調不減規則。
解析:先把兩個鏈表的值都取出來放在list里,再對值排序,排完序后就創建鏈表返回
/* public class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;} }*/ import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Solution {public ListNode Merge(ListNode list1,ListNode list2) {if(list1==null&&list2==null){return null;}if(list1==null){return list2;}if(list2==null){return list1;}List<Integer> list = new ArrayList<Integer>();//存放兩個鏈表的值while (list1!=null){list.add(list1.val);list1=list1.next;}while (list2!=null){list.add(list2.val);list2=list2.next;}Collections.sort(list);//把鏈表里的數值進行排序ListNode head= new ListNode(list.get(0));for(int i=list.size()-1;i>=1;i--){//尾插法創建單鏈表ListNode p = new ListNode(list.get(i));p.next=head.next;head.next=p;}return head;} }
總結
以上是生活随笔為你收集整理的《剑指offer》合并两个排序的链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Trapping Rain Water
- 下一篇: 《剑指offer》包含min函数的栈