首页 > 其他 > 详细

LeetCode——insertion-sort-list

时间:2020-03-07 17:39:46      阅读:51      评论:0      收藏:0      [点我收藏+]

Q:使用插入排序对链表进行排序。
A:
创建头结点;

    public ListNode insertionSortList(ListNode head) {
        if (head == null || head.next == null)
            return head;
        ListNode head0 = new ListNode(Integer.MIN_VALUE);
        ListNode node1 = head;
        ListNode node2 = head;
        ListNode tempNode = head0;
        boolean flag = false;
        while (node1 != null) {
            while (tempNode.next != null) {
                if (tempNode.next.val > node1.val) {
                    flag = true;
                    node2 = node1.next;
                    node1.next = tempNode.next;
                    tempNode.next = node1;
                    tempNode = tempNode.next;
                    break;
                }
                tempNode = tempNode.next;
            }
            if(!flag){
                node2 = node1.next;
                node1.next = tempNode.next;
                tempNode.next = node1;
            }
            flag = false;
            tempNode = head0;
            node1 = node2;
        }
        return head0.next;
    }

LeetCode——insertion-sort-list

原文:https://www.cnblogs.com/xym4869/p/12435534.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!