143. Reorder List

Given a singly linked list?L:?L0→L1→…→Ln-1→Ln,
reorder it to:?L0→LnL1→Ln-1→L2→Ln-2→…

You must do this in-place without altering the nodes' values.

For example,
Given?{1,2,3,4}, reorder it to?{1,4,2,3}.

?

public void ReorderList(ListNode head) {if(head == null|| head.next == null) return;//find middleListNode p1=head;ListNode p2=head;while(p2.next!=null&&p2.next.next!=null){ p1=p1.next;p2=p2.next.next;}//reverse right halfListNode standMiddle = p1;p1 = p1.next;ListNode newHead = null;ListNode nextNode =null;while(p1 != null){nextNode = p1.next;p1.next = newHead;newHead = p1; p1 = nextNode;}standMiddle.next = newHead;//Start reorder one by one  1->2->3->6->5->4 to 1->6->2->5->3->4p1 = head;p2 = standMiddle.next;while(p1 !=standMiddle){nextNode = p2.next;standMiddle.next = nextNode;p2.next = p1.next;p1.next = p2;p1 = p2.next;p2 = nextNode;}}

?

轉載于:https://www.cnblogs.com/renyualbert/p/5870467.html

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

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

相關文章

Halcon圖像濾波方法與原理概述

目錄簡介Halcon算子與算法原理基礎濾波a、均值濾波b、中值濾波c、高斯濾波d、導向濾波簡介 圖像濾波,即在盡量保留圖像細節特征的條件下對目標圖像的噪聲進行抑制,是圖像預處理中不可缺少的操作,其處理效果的好壞將直接影響到后續圖像處理和…

碎片化學習不是學習碎片,看這篇了解碎片化學習的真相

高效學習的定義:找到最適合自己的學習手法,在相對短的時間內集中注意力,以解決一個工作生活當中的難題為目的著手學習,你需要勤加練習,有時候還需要向名師求助。——許岑為什么會出現碎片化學習? 隨著科技的…

一篇能加深理解linux 虛擬文件系統的博文

URL: http://asionius.com/article/9 https://www.ibm.com/developerworks/cn/linux/l-vfs/轉載于:https://www.cnblogs.com/rocklee25/p/6926267.html

如何強制ffmpeg編碼時輸出一個關鍵幀

原文地址:http://www.ffmpeg.com.cn/index.php/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6ffmpeg%E7%BC%96%E7%A0%81%E6%97%B6%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E5%85%B3%E9%94%AE%E5%B8%A7 如何強制ffmpeg編碼時輸出一個關鍵幀 AVCodecContext *c //編碼器環境句…

Halcon深度學習環境搭建(win下)全網最全教程

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。 本文鏈接:https://blog.csdn.net/cashmood/article/details/105042928 文章目錄halcon深度學習介紹系統與環境搭建1、對電腦系統與硬件…

第二周進度及工作量統計

項目:詞頻統計修改 項目類型:個人項目 項目完成情況:已完成 項目改進:第二次改進 項目日期:2016.9.14----2.16.9.14 CCSEIT分析需求,設計15:2015:30010編碼實現15:3016:20050文檔程序說明,隨筆2…

p1484 種樹

傳送門 題目 cyrcyr今天在種樹,他在一條直線上挖了n個坑。這n個坑都可以種樹,但為了保證每一棵樹都有充足的養料,cyrcyr不會在相鄰的兩個坑中種樹。而且由于cyrcyr的樹種不夠,他至多會種k棵樹。假設cyrcyr有某種神能力&#xff0c…

Dalsa線掃相機SDK開發-小試牛刀(1)

拿到了dalsa相機,可以用Sapera軟件配置相機,進行圖像采集。但是自己開發的話就得擼起袖子寫代碼了,查了兩篇不錯的博文,作為指導。 Sapera幫助文檔 - 《好好先生》專欄 - 博客頻道 - CSDN.NET http://blog.csdn.net/liubing8609/a…

用FFMPEG SDK進行視頻轉碼壓縮時解決音視頻不同步問題的方法(轉) PTS DTS

用FFMPEG SDK進行視頻轉碼壓縮的時候,轉碼成功后去看視頻的內容,發現音視頻是不同步的。這個的確是一個惱火的事情。我在用FFMPEG SDK做h264格式的FLV文件編碼Filter的時候就碰到了這個問題。經過研究發現,FFMPEG SDK寫入視頻的時候有兩個地方…

深度學習環境搭建(GPU)CUDA安裝(完全版)

文章目錄1、查詢電腦硬件2、環境搭建與軟件安裝1、安裝CUDA運算平臺軟件2、安裝cuDNN支持包3、配置環境變量3、驗證CUDA與cuDNN安裝前幾天在看深度學習。因為對深度學習不是很了解,在配置環境時走了許多彎路,也總是戰戰兢兢的。現在對深度學習的環境搭建…

Linux 中的文件壓縮與解壓

.tar tar xvf FileName.tar # 解壓 tar cvf FileName.tar DirName # 壓縮 .gz gunzip FileName.gz # 解壓 gzip -d FileName.gz # 解壓 gzip FileName # 壓縮 .tar.gz 和 .tgz tar zxvf FileName.tar.gz # 解壓 tar zcvf FileName.tar.gz DirName # 壓縮 .bz2 bzip2 -d FileNam…

Unity3D游戲開發之自由視角下的角色控制

秦元培的博客:http://blog.csdn.net/qinyuanpei/article/details/39125353 1,[Unity3D]Unity3D游戲開發之角色控制漫談 2,[Unity3D]Unity3D游戲開發之自由視角下的角色控制 3,[Unity3D]Unity3D游戲開發之仿仙劍奇俠傳角色控制效果 轉載于:h…

Pycharm用鼠標滾輪控制字體大小

一、pycharm字體放大的設置 File —> setting —> Keymap —>在搜尋框中輸入:increase —> Increase Font Size(雙擊) —> 在彈出的對話框中選擇Add Mouse Shortcut 在彈出的對話框中同時按住ctrl鍵和鼠標滾輪向上滑。 二、…

Halcon自定義函數封裝方法(全網最詳細)

文章目錄1、名詞解釋2、例子介紹1、處理原圖與任務:2、代碼與解析:3、Halcon函數封裝方式①明確需求②選取函數部分進行函數創建,更改函數接口③運行驗證與函數更改操作有網友說不太清楚這個halcon函數的封裝方法。今天寫個教程帖子&#xff…

ffmpeg庫音頻解碼示例

#include <stdio.h> #include <stdlib.h> extern "C"{// #include "avcodec.h" #include "avformat.h" } int main(char arg,char *argv[]) { char *filename "02.swf"; av_register_all();//注冊所有可…

SQL Where in list 問題

不過,這種做法有兩個缺陷1.Oracle In列表的數目有限制(1000)2.不能復用執行計劃,每次幾乎都是硬解析.3.In拼接可能存在SQL注入的風險

readn writen實現linux下socket緩沖區讀寫

socket上的read write 操作不同與一般的文件IO操作&#xff0c;socket上的用read write讀寫的字節數可能比要求的少,但這并不是錯誤&#xff0c;原因是socket的緩沖區可能已經達到了極限。此時所需要的就是再次調用read write 以寫入或輸出剩余的字符。這種情況在socket中很常見…

傅里葉變換進行缺陷檢測detect_indent_fft.hdev(源代碼與詳細解析)

文章目錄簡介程序解析處理結果預覽算法講解簡介 detect_indent_fft.hdev是halcon的示例程序&#xff0c;是傅里葉變換進行缺陷檢測的一個例子&#xff0c;主要是傅里葉變換在復雜背景下的缺陷檢測。 這個程序展示了如何利用快速傅里葉變換&#xff08;FFT&#xff09;對塑料制…

lua環境搭建

前言 Linux & Mac上安裝 Lua 安裝非常簡單&#xff0c;只需要下載源碼包并在終端解壓編譯即可&#xff0c;本文介紹Linux 系統上&#xff0c;lua5.3.0版本安裝步驟&#xff1a; Linux 系統上安裝 [rootgitlab ~]# mkdir /app/tools/lua -p [rootgitlab ~]# cd /app/tools/l…

八、job管理

查看用法&#xff1a; [rootsuper65 ~]# salt-run -d|grep jobsjobs.active:                      #查看當前執行的job Return a report on all actively running jobs from a job id centric salt-run jobs.activejobs.list_job: salt-run jobs.list_j…