91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于鏈表的拓展 基本操作

發布時間:2020-08-25 16:41:11 來源:網絡 閱讀:190 作者:涼白開dream 欄目:編程語言

一.通過X將鏈表排序;小的在前大的在后:
思考:遍歷整個鏈表,與X作比較,小的尾插在SMALL里,大的尾插在BIG 里;遍歷結束,判斷SMALL或者BIG是否為空,如果是則只返回另一個的第一個結點,

class ListNode {
    public int val;
    public ListNode next;

    public ListNode(int val, ListNode next) {
        this.val = val;
        this.next = next;
    }

    public ListNode(int val) {
        this(val, null);
    }
}

public class LinkedListInterview {
    public ListNode separateByX(ListNode head, int x) {
        ListNode sHead = null;
        ListNode sEnd = null;
        ListNode bHead = null;
        ListNode bEnd = null;

        for (ListNode cur = head; cur != null; cur = cur.next) {
            if (cur.val < x) {
                if (sHead == null) {
                    sHead = cur;
                } else {
                    sEnd.next = cur;
                }
                sEnd = cur;
            } else {//≥
                if (bHead == null) {
                    bHead = cur;
                } else {
                    bEnd.next = cur;
                }
                bEnd = cur;
            }
        }

        if (sEnd == null) {
            return bHead;
        }

        sEnd.next = bHead;
        if (bEnd != null) {
            bEnd.next = null;
        }
        return sHead;
    }

    private static ListNode createTestList() {
        ListNode n1 = new ListNode(4);
        ListNode n2 = new ListNode(5);
        ListNode n3 = new ListNode(2);
        ListNode n4 = new ListNode(7);
        ListNode n5 = new ListNode(6);
        ListNode n6 = new ListNode(3);
        ListNode n7 = new ListNode(8);
        ListNode n8 = new ListNode(1);

        n1.next = n2;
        n2.next = n3;
        n3.next = n4;
        n4.next = n5;
        n5.next = n6;
        n6.next = n7;
        n7.next = n8;

        return n1;
    }

    // 三個重要節點
    // 1. 咱創建的測試鏈表是不是出問題了?
    // 2. 咱的分離程序是不是出問題了?
    // 3. 咱的打印程序是不是出問題了?
    private static void test() {
        // 4 5 2 7 6 3 8 1
        ListNode head = createTestList();
        ListNode result = new LinkedListInterview().separateByX(head, 5);
        // 4 2 3 1 5 7 6 8
        for (ListNode cur = result; cur != null; cur = cur.next) {
            System.out.println(cur.val);
        }
    }

    public static void main(String[] args) {//主函數,調用test子函數
        test();
    }
}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大港区| 织金县| 酉阳| 鹰潭市| 常德市| 曲靖市| 阳山县| 万安县| 乌拉特中旗| 宝坻区| 吉隆县| 婺源县| 汾西县| 龙州县| 湘西| 乐平市| 德令哈市| 博乐市| 沭阳县| 体育| 安福县| 南溪县| 漾濞| 突泉县| 信丰县| 浦北县| 红安县| 广州市| 沅江市| 克山县| 惠安县| 崇明县| 金秀| 田东县| 海盐县| 翁牛特旗| 无锡市| 时尚| 余庆县| 临海市| 观塘区|