【劍指offer第十五題】反轉連結串列
講的很好,有兩種方法
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode ReverseList(ListNode head) { if(head==null||head.next==null) return head; ListNode node=ReverseList(head.next); head.next.next=head; head.next=null; return node; } }
相關推薦
【劍指offer第十五題】反轉連結串列
講的很好,有兩種方法 /* public class ListNode { int val; ListNode next = null; ListNode(int val
【劍指offer第十二題】數值的整數次方
題目描述 給定一個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。 public class Solution { public dou
【劍指offer第十七題】樹的子結構
題目描述 輸入兩棵二叉樹A,B,判斷B是不是A的子結構。(ps:我們約定空樹不是任意一個樹的子結構) /** public class TreeNode { int val = 0;
【劍指offer第十題】矩形覆蓋
題目描述 我們可以用2*1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法? n=0,0種; n=1,1種; n=2,2種; n=
劍指offer系列(16):反轉連結串列
題目描述 輸入一個連結串列,反轉連結串列後,輸出新連結串列的表頭。 樣例 輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2->1->NULL 思路分析 雙指標法,pre指
【劍指offer第五題】用兩個棧實現佇列
棧的實現是先進後出,佇列是先進先出。思路就是第一個棧的元素按次序出棧,然後第二個棧依次入棧,然後出棧。 import java.util.Stack; public class Solution
【劍指offer第三題】從尾到頭列印連結串列
import java.util.ArrayList; public class Solution { ArrayList list=new ArrayList();//放在遞迴體外面,每次新
【劍指offer第六題】旋轉陣列的最小數
題目描述 把一個數組最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。 輸入一個非減排序的陣列的一個旋轉,輸出旋轉陣列的最小元素。 例如陣列{3,4,5,1,2}為{1,2,3,4,5}的一個旋
【劍指offer第七題】斐波那契數列
題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 剛開始覺得輸入為一個數,然後找到這個數在斐波那契數列中的位置
【劍指offer第八題】跳臺階
題目描述 一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果) 第一級臺階1種,第二級臺階2種,第四級3種,第四級5種,第五級8種
劍指offer第二十九題【最小的K個數】c++實現
題目描述 輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,。 方法比較多,我直接用的set,然後取前k個就行了 vector<int> GetLeastNumbers_Solution(vector<int>
劍指offer第二十四題【二叉樹中和為某一值的路徑】c++實現
題目描述 輸入一顆二叉樹和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。 先序遍歷二叉樹,用一個數組記錄當前路徑,如果遍歷到葉子節點就進行判斷是否和給定值相等。 class Solution { public: vect
劍指offer第二十七題【字串的排列】c++實現
class Solution { public: vector<string> vec; bool isSwap(string str,int k,int i){ for(int j=k;j<i;j++){ if(str[j]==str
劍指offer四十五之翻轉單詞順序列
過程 大小 題目 決定 數字 god 彩票 代碼 撲克牌 一、題目 LL今天心情特別好,因為他去買了一副撲克牌,發現裏面居然有2個大王,2個小王(一副牌原本是54張^_^)...他隨機從中抽出了5張牌,想測測自己的手氣,看看能不能抽到順子,如果抽到的話,他決定去買體育
劍指offer——二叉查詢樹與雙向連結串列(36題)
題目:輸入一棵二叉查詢樹,將該二叉查詢樹換成一個排序的雙向連結串列,要求不能建立任何新的節點,只能調整樹中節點指標的指向。 解題思想:又一是道二叉樹遍歷演算法的變型題,一定要往這個方向上面思考。此處採用中序遍歷(主體)演算法進行解題。 #include<iostre
劍指offer——替換空格從尾到頭列印連結串列
題目描述 輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 方法一:使用vector的insert函式可以在任意位置插入的特性。 /** * struct ListNode { * int val; *
劍指offer -- 二叉搜尋樹與雙向連結串列
題目 輸入一棵二叉搜尋樹,將該二叉搜尋樹轉換成一個排序的雙向連結串列。要求不能建立任何新的結點,只能調整樹中結點指標的指向。 AC程式碼 /** public class TreeNode { int val = 0; TreeNode left = null;
劍指offer——二叉搜尋樹和雙向連結串列
劍指offer題越往後感覺越不好做呀,本來是不會做,現在是難看懂了,乍一眼看這個題,二叉搜尋樹 ,先把樹給拆了,然後排個序,最後加個鏈。不過實現還是不太容易的。 class Solution: def Convert(self,pRootOfTree): if n
[劍指offer] --17.合併兩個排序的連結串列
題目描述 輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。 /* public class ListNode { int val; ListNode next = null; ListNode(in
劍指 Offer - 16:合併兩個排序連結串列
題目描述 輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則 題目連結:https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337