牛客66題(3)從尾到頭列印連結串列
輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。
思路:很簡單,設定一個棧,遍歷連結串列將連結串列依次壓棧,最後依次彈出。
class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { vector<int>v; if(head==NULL) return v; stack<int>s; ListNode* temp=head; while(temp!=NULL) { s.push(temp->val); temp=temp->next; } while(!s.empty()) { v.push_back(s.top()); s.pop(); } return v; } };
總結:很簡單,就不說了,估計筆試也不會考這麼簡單的題了
相關推薦
牛客66題(3)從尾到頭列印連結串列
輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 思路:很簡單,設定一個棧,遍歷連結串列將連結串列依次壓棧,最後依次彈出。 class Solution { public: vector<int> printListFromTailToHead(L
牛客網刷題(一) 從尾到頭列印連結串列
輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { s
劍指offer (3)從尾到頭列印連結串列
(18.12.28) 劍指offer (3)從尾到頭列印連結串列 我發現寫來寫去還是js比較好寫,java我寫了好久,連ArrayList的逆置函式都要自己寫,所以我決定為了節省時間以後只用js寫吧。等到藍橋杯考前一星期我在用java熟悉一下語法等吧。把丟的撿回來。 話不多說,進
劍指offer——(6)從尾到頭列印連結串列&&反轉連結串列&&連結串列倒數第K個結點
/** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; *
簡單的演算法(1)--從尾到頭列印連結串列
目錄 1、java實現 1.1、遞迴 1.1.1、測試(完整原始碼) 1.2、利用棧來實現 1.2.1、測試 2、C語言 2.1、先將連結串列反轉,再從頭輸出(改變連結串列的結構) 2.2、利用棧的“先進後出”特性 1、java實現 連結
單鏈表相關(1)從尾到頭列印連結串列、刪除一個無頭連結串列的非尾結點
1、從尾到頭列印連結串列 2、刪除一個無頭連結串列的非尾結點 單鏈表結構以及Find函式參見 2016-1-2 13:56 發表部落格 void Print_T_to_H(SListNode*&am
牛客66題(8)跳臺階
一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。 假設有1階有1種方法; 假設有2階有2種方法; 假設有3階有(2,1),(1,2),(1,1,1)3種方法; 假設有4階(1,1,1,1)(2,1,1)(1,2,1
牛客66題(7)斐波那契數列
大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39;斐波那契數列特徵為除第一項與第二項外其餘項均為前兩項的和。 class Solution { public: int Fibonacci(int n) {
牛客66題(6)旋轉陣列的最小數字
把一個數組最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。 輸入一個非減排序的陣列的一個旋轉,輸出旋轉陣列的最小元素。 例如陣列{3,4,5,1,2}為{1,2,3,4,5}的一個旋轉,該陣列的最小值為1。 NOTE:給出的所有元素都大於0,若陣列大小為0,請返回0。 class Sol
牛客66題(5)用兩個棧來實現一個佇列
class Solution { public: void push(int node) { stack1.push(node); } int pop()
牛客66題(4)重建二叉樹
輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回。 /** * Definition for binary
牛客66題(2)替換空格
請實現一個函式,將一個字串中的每個空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。 class Solution { public: void replaceSpace(char *str,int length) {
牛客66題(1)二維陣列查詢
在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 class Solution { public: bool Find(int target,
【劍指offor】3、從尾到頭列印連結串列
牛客網題目連結: 從尾到頭列印連結串列 題目描述 輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 本題較為簡單。有兩種解法:遞迴和使用棧迴圈。 1、遞迴解法 遞迴解法,也可以有兩種寫法。 1.1、 遞迴解法一 先上程式碼,下面給解釋:
劍指 Offer - 3:從尾到頭列印連結串列
題目描述 輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList 題目連結:https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035 解題思路 藉助棧 publ
3:從尾到頭列印連結串列
題目描述 解題思路 藉助棧 public class Solution { public ArrayList<Integer> printListFromTailToHead(Li
劍指offer 3:從尾到頭列印連結串列
利用棧的先進後出特性 #include <iostream> #include <stack> #include <vector> using namespace std; struct ListNode { public: int val;
【LeetCode & 劍指offer刷題】連結串列題2:6 從尾到頭列印連結串列
【LeetCode & 劍指offer 刷題筆記】目錄(持續更新中...) 6 從尾到頭列印連結串列 題目描述 輸入一個連結串列,從尾到頭列印連結串列每個節點的值 /** * struct
牛客網 劍指offer_程式設計題—— 從尾到頭列印連結串列(C++)
輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 C++ /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : *
句子反轉——牛客刷題(java)
++ () ring system for 字母 ext style scan 題目描述: 給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前後沒有空格。 比如: (1) “hello xiao mi”-> “mi