leetcode86. 分隔鏈表

給定一個鏈表和一個特定值 x,對鏈表進行分隔,使得所有小于 x 的節點都在大于或等于 x 的節點之前。

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

示例:

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

思路:分別創建兩個鏈表保存兩種節點,最后連起來即可。

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) { val = x; }* }*/
class Solution {public ListNode partition(ListNode head, int x) {ListNode before_head = new ListNode(0);ListNode before = before_head;ListNode after_head = new ListNode(0);ListNode after = after_head;while (head != null) {if (head.val < x) {before.next = head;before = before.next;} else {after.next = head;after = after.next;}head = head.next;}after.next = null;before.next = after_head.next;return before_head.next;}
}

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/444530.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444530.shtml
英文地址,請注明出處:http://en.pswp.cn/news/444530.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

(十三)nodejs循序漸進-高性能游戲服務器框架pomelo之擴展聊天服務器為機器人自動聊天

聊天服務器擴展 大家在上一篇文章里相信已經學會了pomelo框架的基本用法了&#xff0c;那么我們在上一篇文章的代碼基礎上繼續擴展&#xff0c;豐富系統&#xff0c;另外也熟悉下他的更多的用法&#xff0c;這一節我將擴展它&#xff1a;增加一個機器人自動聊天的功能。 目的…

C++:09---類靜態成員、類常量成員

一、類靜態成員(static) 先介紹一下什么是靜態變量、靜態函數 靜態局部變量:存在域(全局數據區),作用域(塊作用域)靜態全局變量:存在域(全局數據區),作用域(整個文件)靜態函數:存在域(全局數據區),作用域(整個文件)static int a=10;//全局靜態變量 static vo…

C++:08---成員變量初始化方式

成員變量初始化有三種方式: 在構造函數體內賦值初始化在自定義的公有函數體中賦值初始化(一般用于成員變量的初始化)在構造函數的成員初始化列表初始化一、構造函數體內初始化 說明:在構造函數體內的初始化方式,本質是是為成員變量賦值,而不是真正意義上的初始化,這點要…

leetcode1290. 二進制鏈表轉整數 刷新認知,最簡單算法題

給你一個單鏈表的引用結點 head。鏈表中每個結點的值不是 0 就是 1。已知此鏈表是一個整數數字的二進制表示形式。 請你返回該鏈表所表示數字的 十進制值 。 示例 1&#xff1a; 輸入&#xff1a;head [1,0,1] 輸出&#xff1a;5 解釋&#xff1a;二進制數 (101) 轉化為十進…

Redis:02---安裝Redis(Linux+Windows+Docker)

Linux安裝&#xff1a;一、安裝方式1&#xff08;下載源碼編譯安裝&#xff09;第一步&#xff1a;從下面的網址中下載Redis最新穩定版本的源代碼sudo wget http://download.redis.io/redis-stable.tar.gz第二步&#xff1a;下載完之后解壓&#xff0c;建立一個軟鏈接指向于red…

C++:10---再議拷貝構造函數

一、概念 使用一個已經存在的對象,去構造(初始化)另一個對象二、格式 參數加上const&,因為拷貝構造函數在幾種情況下都會被隱式地使用,因此拷貝構造函數不應該是explict的const:防止函數內部修改值&:防止無限循環拷貝類名(類名 const& 參數名) { 函數體 }三、…

人的思維謬誤與心理學效應

啟發法 用一個容易的問題代替難以回答的真正問題。這個容易的問題的答案就是對真正問題的啟發&#xff0c;但啟發經常和真正的答案差得很遠&#xff0c;而人卻往往把啟發當成了真正問題的答案。 接下來介紹和啟發法相關的心理效應和謬誤。每一個謬誤都會注明真正的問題是什么…

C++:07---this指針

一、this指針介紹 概念:this指針是成員函數的一個隱式參數,在類中本質上就是對象的指針(常量指針)特點:在成員函數中可通過this指針區別成員變量與形參變量this可以顯式調用示例代碼:class Cperson { private: int age; float height; public: void InitPerson(int age,flo…

Redis :01---Redis簡介和安裝

一、Redis簡介 Redis官網&#xff1a;https://redis.io/ Redis是一種基于鍵值對&#xff08;key-value&#xff09;的NoSQL數據庫 與很多鍵值對數據庫不同的是&#xff0c;Redis中的值可以是由string&#xff08;字符串&#xff09;、hash&#xff08;哈希&#xff09;、 list&…

215. 數組中的第K個最大元素 BFPRT最牛解法

在未排序的數組中找到第 k 個最大的元素。請注意&#xff0c;你需要找的是數組排序后的第 k 個最大的元素&#xff0c;而不是第 k 個不同的元素。 示例 1: 輸入: [3,2,1,5,6,4] 和 k 2 輸出: 5 示例 2: 輸入: [3,2,3,1,2,4,5,5,6] 和 k 4 輸出: 4 說明: 你可以假設 k 總是…

C++: 06---構造函數析構函數

拷貝構造函數: 用一個已經存在的對象來生成一個相同類型的新對象。(淺拷貝)默認的拷貝構造函數: 如果自定義了拷貝構造函數,編譯器就不在生成默認的拷貝構造函數。 如果沒有自定義拷貝構造函數,但在代碼中用到了拷貝構造函數,編譯器會生成默認…

leetcode371. 兩整數之和 不用+號做加法

不使用運算符 和 - &#xff0c;計算兩整數 ???????a 、b ???????之和。 示例 1: 輸入: a 1, b 2 輸出: 3 示例 2: 輸入: a -2, b 3 輸出: 1 思路&#xff1a;模擬加法器 二進制不考慮進位&#xff1a;000&#xff0c;010&#xff0c;110&#xff0c;是…

C++:05---class和struct

C++被稱為“C with class”,可見在C++中class是多么重要,與class類似的一個結構就是struct了,struct最早是在C語言中出現的,在C++中對struct的功能也進行了擴展。 class : public(公有):在類內外、派生類中都可被訪問protected(保護):希望與派生類共享但是不想被公共…

leetcode34. 在排序數組中查找元素的第一個和最后一個位置

給定一個按照升序排列的整數數組 nums&#xff0c;和一個目標值 target。找出給定目標值在數組中的開始位置和結束位置。 你的算法時間復雜度必須是 O(log n) 級別。 如果數組中不存在目標值&#xff0c;返回 [-1, -1]。 示例 1: 輸入: nums [5,7,7,8,8,10], target 8 輸…

C++:11---友元函數、友元類

一、友元(friend) 概念:通過友元,打破了類的封裝性,可以訪問類內的所有成員分類:友元函數、友元類二、友元函數 概念:友元函數是一個普通函數,不屬于類,但需要在類內表明友元關系 友元函數可訪問類內所有成員,但類不可以訪問友元函數…

leetcode75. 顏色分類

給定一個包含紅色、白色和藍色&#xff0c;一共 n 個元素的數組&#xff0c;原地對它們進行排序&#xff0c;使得相同顏色的元素相鄰&#xff0c;并按照紅色、白色、藍色順序排列。 此題中&#xff0c;我們使用整數 0、 1 和 2 分別表示紅色、白色和藍色。 注意: 不能使用代碼…

C++:12---運算符重載

一、概念 對已有的運算符重新進行定義,賦予其另一種功能,以適應不同的數據類型重載的運算符是具有特殊名字的函數,該函數也有返回值、參數列表、函數體二、運算符重載的3種實現方式 成員函數:私有、公有、保護都可以友元函數:同上全局函數:只能訪問公有的三、運算符重載的…

Redis:03---Redis的啟動與配置參數大全

一、Redis的可執行文件當我們安裝完Redis之后&#xff0c;src和/usr/local/bin目錄下提供了下面這些可執行程序&#xff0c;我們稱之為Redis Shell&#xff1a;redis-serverRedis服務器redis-cliRedis命令行客戶端redis-benchmarkRedis性能測試工具redis-check-aofRedis AOF持久…

leetcode80. 刪除排序數組中的重復項 II

給定一個排序數組&#xff0c;你需要在原地刪除重復出現的元素&#xff0c;使得每個元素最多出現兩次&#xff0c;返回移除后數組的新長度。 不要使用額外的數組空間&#xff0c;你必須在原地修改輸入數組并在使用 O(1) 額外空間的條件下完成。 示例 1: 給定 nums [1,1,1,2…

Redis:04---鍵的基本命令(上)

一、KEYS&#xff1a;全量遍歷鍵KEYS pattern功能&#xff1a;用來獲取此數據庫中所有的鍵名注意事項&#xff1a;KEYS命令需要遍歷Redis中的所有鍵&#xff0c;當鍵的數量較多時會影響性能&#xff0c;不建議在生產環境下使用支持glob風格通配符格式&#xff0c;見下表&#x…