1. 程式人生 > 實用技巧 >Netplan on Ubuntu 用於網路管理

Netplan on Ubuntu 用於網路管理

此部落格連結:https://www.cnblogs.com/ping2yingshi/p/14227560.html

分隔連結串列

題目連結:https://leetcode-cn.com/problems/partition-list/

題目

給你一個連結串列和一個特定值 x ,請你對連結串列進行分隔,使得所有小於 x 的節點都出現在大於或等於 x 的節點之前。

你應當保留兩個分割槽中每個節點的初始相對位置。

示例:

輸入:head = 1->4->3->2->5->2, x = 3
輸出:1->2->2->4->3->5

題解

找連結串列中某些數字比某個數子大或者小的問題,可以使用兩個連結串列來解題,第一個連結串列中存小於給定數的連結串列中的數,第二個連結串列中存大於給定數的連結串列中的數,然後把小連結串列的尾部指向大連結串列的頭部,最後把大連結串列的尾部置空。

程式碼

class Solution {
    public ListNode partition(ListNode head, int x) {
         ListNode small=new ListNode(0);
         ListNode smallp=small;
         ListNode lager=new ListNode(0);
         ListNode lagerp=lager;
         while(head!=null)
         {
             if(head.val<x)
             {
                 smallp.next
=head; smallp=smallp.next; } else { lagerp.next=head; lagerp=lagerp.next; } head=head.next; } smallp.next=lager.next; lagerp.next=null; return small.next; } }

結果