leetcode 147. 對鏈表進行插入排序

對鏈表進行插入排序。

插入排序的動畫演示如上。從第一個元素開始,該鏈表可以被認為已經部分排序(用黑色表示)。
每次迭代時,從輸入數據中移除一個元素(用紅色表示),并原地將其插入到已排好序的鏈表中。

插入排序算法:

插入排序是迭代的,每次只移動一個元素,直到所有元素可以形成一個有序的輸出列表。
每次迭代中,插入排序只從輸入數據中移除一個待排序的元素,找到它在序列中適當的位置,并將其插入。
重復直到所有輸入數據插入完為止。

示例 1:

輸入: 4->2->1->3
輸出: 1->2->3->4

代碼

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) { val = x; }* }*/
class Solution {public ListNode insertionSortList(ListNode head) {ListNode dumpy=new ListNode(Integer.MIN_VALUE);dumpy.next=head;ListNode pre=dumpy;while (head!=null)//遍歷所以節點{ListNode temp=dumpy.next,curPre=dumpy;boolean change=false;while (temp!=head)//從當頭節點到當前節點查找放置的位置{if(head.val<=temp.val)//將當前節點連到合適位置{pre.next=head.next;head.next=temp;curPre.next=head;change=true;break;}curPre=temp;temp=temp.next;} if(change)//當前節點已經變化位置的情況{head=pre.next;}else {//不需要變化位置的情況pre=head;head=head.next;}}return dumpy.next;}
}

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

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

相關文章

JSP過濾器Filter配置過濾類型匯總

一、配置方法1 映射過濾應用程序中所有資源<filter> <filter-name>loggerfilter</filter-name> <filter-class>myfilter.LoggerFilter</filter-class></filter><filter-mapping> <filter-name>loggerfilter</filt…

ERP流程入門_從會計分錄理解企業基本流程[轉]

ERP流程入門_從會計分錄理解企業基本流程 本貼寫給尚未在企業工作過的朋友&#xff01;了解企業的基本流程的一個方法是看它的會計分錄,我們現在來看一個完整的企業基本流程&#xff0c;它的會計分錄是如何做的&#xff0c;其中有些帳戶名稱可能不一樣&#xff0c;不過沒關系&a…

薩默爾機器人_助力產業發展 西安市人工智能機器人學會正式成立

8月23日&#xff0c;西安市人工智能機器人學會在西咸新區灃東新城協同創新港正式成立。西安報業全媒體記者 馮煒 攝8月23日&#xff0c;西安市人工智能機器人學會正式成立。學會將通過市場化機制、社會化服務等方式&#xff0c;整合科技創新資源和人才培養資源&#xff0c;促進…

粒度過粗_這些書幫助我度過了第一次成為技術主管的經歷

粒度過粗by Danny Perez丹尼佩雷斯(Danny Perez) 這些書幫助我度過了第一次成為技術主管的經歷 (These books helped me navigate my first time being a tech lead) The tech lead was moving to another team for a long-term assignment, and I took over as the engineeri…

隨便說說:在ASP.NET應用程序中上傳文件

在Web程序中上傳文件是很常見的需求。利用HTTP協議上傳文件的方式非常有限&#xff0c;最常見的莫過于使用<input type"file" />元素進行上傳。這種上傳方式會將內容使用multipart/form-data方案進行編碼&#xff0c;并將內容POST到服務器端。使用multipart/fo…

leetcode 148. 排序鏈表(歸并排序)

給你鏈表的頭結點 head &#xff0c;請將其按 升序 排列并返回 排序后的鏈表 。 進階&#xff1a; 你可以在 O(n log n) 時間復雜度和常數級空間復雜度下&#xff0c;對鏈表進行排序嗎&#xff1f; 示例 1&#xff1a; 輸入&#xff1a;head [4,2,1,3] 輸出&#xff1a;[1…

理論與哲學就是梳理無限感性經驗和知性知識的工具

理論與哲學就是梳理無限感性經驗和知性知識的工具&#xff0c; 是因為人腦的特性&#xff0c;或者說人腦功能的局限性而被人創造出來的思想工具。 工具服務于實踐&#xff0c;并被實踐所檢驗&#xff08;描述、解釋、預見&#xff09;。 工具一旦創建就有其客觀性&#xff0c;但…

記一次調用API遇到的問題

調用sonar API 接口&#xff0c;地址如下&#xff1a; http://sonar.*****.com/api/measures/search_history?componenttcmp-devops-service&metricssqale_index%2Cduplicated_lines_density%2Cncloc%2Ccoverage%2Cbugs%2Ccode_smells%2Cvulnerabilities&ps1000 url上…

h5滾動隱藏滾動條_這 10 個值得開啟的隱藏功能,讓你的 Chrome 釋放更多潛力

上次分享了讓 Chrome 瀏覽器用得更順手的地址欄命令&#xff0c;跟大家整理和介紹了多個 Chrome 地址欄命令&#xff0c;利用好這些命令工具能夠提升瀏覽器配置效率&#xff0c;讓你的 Chrome 瀏覽器用得更順手。這次介紹的是 Chrome 內置的實驗功能&#xff0c;它被單獨放在了…

redux ngrx_另一個減少Redux(NGRX)應用程序樣板的指南

redux ngrxby Andrey Goncharov通過安德烈貢恰洛夫(Andrey Goncharov) 另一個減少Redux(NGRX)應用程序樣板的指南 (Yet another guide to reduce boilerplate in your Redux (NGRX) app) 我們在這里要覆蓋什么&#xff1f; (What are we gonna cover here?) In this article,…

leetcode 242. 有效的字母異位詞

給定兩個字符串 s 和 t &#xff0c;編寫一個函數來判斷 t 是否是 s 的字母異位詞。 示例 1: 輸入: s “anagram”, t “nagaram” 輸出: true 示例 2: 輸入: s “rat”, t “car” 輸出: false 代碼 class Solution {public boolean isAnagram(String s, String t) {…

技巧:使用User Control做HTML生成

User Control大家肯定不會陌生&#xff0c;在使用ASP.NET的過程中&#xff0c;除了aspx頁面&#xff0c;最常見的就莫過于ascx了。ascx是一個有獨立邏輯的組件&#xff0c;提供了強大的復用特性&#xff0c;合理使用&#xff0c;能夠大大提高開發效率。通過User Control直接生成…

Spring Boot干貨系列:(二)配置文件解析

前言 上一篇介紹了Spring Boot的入門&#xff0c;知道了Spring Boot使用“習慣優于配置”&#xff08;項目中存在大量的配置&#xff0c;此外還內置了一個習慣性的配置&#xff0c;讓你無需手動進行配置&#xff09;的理念讓你的項目快速運行起來。所以&#xff0c;我們要想把S…

mysql常用操作記錄

&#xff08;1&#xff09;判斷表中一個字段是空&#xff0c;可為&#xff1a;字段名 IS NULL&#xff08;2&#xff09;類似oracle的decode作用&#xff1a;IF(字段名>0,字段名,0)&#xff08;3&#xff09;時間格式&#xff08;年-月-日&#xff09;&#xff1a;DATE_FORM…

小愛音響調用php接口_阿里API調用二(PHP)

接口地址拼合成功后&#xff0c;用curl函數post獲取阿里返回的完整數據&#xff0c;將地址傳入getContent()方法中&#xff0c;絕對能獲取用戶數據。public function getContent($url){$ch curl_init();// 初始化curl_setopt($ch,CURLOPT_URL,$apiprourlall);curl_setopt($ch,…

leetcode 452. 用最少數量的箭引爆氣球(貪心算法)

在二維空間中有許多球形的氣球。對于每個氣球&#xff0c;提供的輸入是水平方向上&#xff0c;氣球直徑的開始和結束坐標。由于它是水平的&#xff0c;所以縱坐標并不重要&#xff0c;因此只要知道開始和結束的橫坐標就足夠了。開始坐標總是小于結束坐標。 一支弓箭可以沿著 x…

javascript編程題_如何開始使用JavaScript進行競爭性編程

javascript編程題by Priyabrata Biswas通過Priyabrata Biswas 如何開始使用JavaScript進行競爭性編程 (How to get started with Competitive Programming in JavaScript) If you’re not familiar with competitive programming, basically it is a mind sport with the aim …

hibernate Criteria(條件查詢接口)

Criteria&#xff08;條件查詢接口&#xff09; // 1.簡單查詢 List<Customer> list session.createCriteria(Customer.class).list();// 2.條件查詢: Criteria criteria session.createCriteria(Customer.class); criteria.add(Restrictions.eq("name",&quo…

ElastciSearch簡單總結(筆記)

前言&#xff1a; 前段時間在項目中使用了es,作為一個當前比較流行的分布式搜索引擎&#xff0c;在學習和使用它的過程中&#xff0c;踩了不少坑&#xff0c;這篇文章先簡單整理了一下&#xff0c;后續會整理一下之前踩過的一些坑。 1. ElastciSearch是什么 ElasticSearch是一…

記一次ArrayList產生的線上OOM問題

前言&#xff1a;本以為(OutOfMemoryError)OOM問題會離我們很遠&#xff0c;但在一次生產上線灰度的過程中就出現了Java.Lang.OutOfMemoryError:Java heap space異常&#xff0c;通過對線上日志的查看&#xff0c;最終定位到ArrayList#addAll方法中&#xff0c;出現這個問題的原…