一次過 Lintcode 36 翻轉鍊錶 II

2021-08-21 07:27:29 字數 609 閱讀 2772

翻轉鍊錶中第公尺個節點到第ñ個節點的部分

給出鍊錶1-> 2-> 3-> 4-> 5-> null,m = 2和n = 4,返回1-> 4-> 3-> 2-> 5-> null

在原地一次翻轉完成

在[m,n]區間翻轉的操作與lintcode 35:reverse linked list相同,就是設立pre,cur,next三指標進行翻轉。重要的是如何將部分翻轉後的鍊錶與原鍊錶結合,就需要設立指標p1指向公尺前乙個元素,用來連線翻轉後的節點,具體看圖:

根據以上思路,**如下:

/**

* definition for listnode

* public class listnode

* }*/public class solution

* }*/public class solution

prepre.next.next = cur;

prepre.next = pre;

return dummy.next;}}

LintCode 36(翻轉鍊錶 II)

lintcode系列,第36題,題目 翻轉鍊錶中第m個節點到第n個節點的部分,m,n滿足1 m n 鍊錶長度。樣例 例1 輸入 1 2 3 4 5 null,m 2 and n 4,輸出 1 4 3 2 5 null.例2 輸入 1 2 3 4 null,m 2 and n 3,輸出 1 3 2 4...

一次過 Lintcode 175 翻轉二叉樹

翻轉一棵二叉樹 1 1 2 3 3 2 4 4遞迴固然可行,能否寫個非遞迴的?遞迴。先將左孩子為根的子樹翻轉,再將右孩子為根的子樹翻轉,最後將該節點的左右子樹翻轉即可。definition of treenode public class treenode public class solution...

一次過 Lintcode 488 快樂數

寫乙個演算法來判斷乙個數是不是 快樂數 乙個數是不是快樂是這麼定義的 對於乙個正整數,每一次將該數替換為他每個位置上的數字的平方和,然後重複這個過程直到這個數變為1,或是無限迴圈但始終變不到1。如果可以變為1,那麼這個數就是快樂數。19 就是乙個快樂數。1 2 9 2 82 8 2 2 2 68 6...