[劍指offer] 3. 從頭到尾列印連結串列
題目描述
輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。思路: 利用容器,遍歷一遍加入到一個新容器裡,然後反置輸出。 vector 用 reverse stack 則直接一個個出棧。
class Solution { public: vector<int> printListFromTailToHead(ListNode *head) { vector<int> res; while (head != NULL) { res.push_back(head->val); head = head->next; } reverse(res.begin(), res.end()); return res; } };
相關推薦
劍指offer(3)從尾到頭列印連結串列
題目描述 輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 解題思路 直接遍歷就OK了 class Solution { public: vector printListFromTailToHead(ListNode* head) { vector v; wh
劍指offer 3.從尾到頭列印連結串列
輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 解法:根據題目要求,我們可以想到棧的特性符合題目要求! class Solution { public: vector<int> printListFromTailToHead
【劍指offer】逆序輸出連結串列
輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 *考察棧的使用 *使用迴圈輸出Stack中內容的時候,不能使用for(int i; i<stack.size();i++)因為stack.size()在資料出棧操作後會變化。
《劍指offer》系列 兩個連結串列的第一個公共結點(Java)
連結 牛客:兩個連結串列的第一個公共結點 題目描述 輸入兩個連結串列,找出它們的第一個公共結點。 思路 倆個連結串列存在公共結點,意味著第一個公共結點之後的都是相同的,就是說,兩個連結串列的尾巴是相同的,我們可以分別算出兩個連結串列的長度之差lenDif ,然後遍歷長
劍指offer刷題之反轉連結串列
題目描述 輸入一個連結串列,反轉連結串列後,輸出新連結串列的表頭。 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): #  
牛客網《劍指Offer》 程式設計 25.複雜連結串列的複製 (最優解法)
題目描述 輸入一個複雜連結串列(每個節點中有節點值,以及兩個指標,一個指向下一個節點,另一個特殊指標指向任意一個節點),返回結果為複製後複雜連結串列的head。(注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空) 解題思路 這次使用時間複雜度為O(n
劍指offer刷題記錄14——連結串列中倒數第k個結點
題目描述 輸入一個連結串列,輸出該連結串列中倒數第k個結點。 想到利用雙指標標記頭部,移動第二個指標直到距離為k - 1,再同時移動兩個指標,當第二個指標指向尾部,第一個指標則指向倒數第k個結點。 解法一: public class Solution {
劍指Offer.面試題18.刪除連結串列中重複的節點
在一個排序的連結串列中,存在重複的結點,請刪除該連結串列中重複的結點,重複的結點不保留,返回連結串列頭指標。 例如,連結串列1->2->3->3->4->4->5 處理後為 1->2->5 思路: 設定三個指標。
【劍指offer{15-18}】反轉連結串列、合併兩個排序的連結串列、樹的子結構、二叉樹的映象
反轉連結串列、合併兩個排序的連結串列、樹的子結構、二叉樹的映象反轉連結串列題目描述C++程式碼題目描述C++程式碼樹的子結構題目描述C++程式碼題目描述C++程式碼 反轉連結串列 題目描述 輸入一
劍指offer-36:兩個連結串列的第一個公共結點
題目描述 輸入兩個連結串列,找出它們的第一個公共結點。 思路 如果兩個連結串列有共同結點,那一定是Y結構而不是X結構,以為單鏈表只有一個next。如下圖。 找出兩個連結串列的長度差,長的先遍歷長度差的距離,然後依次對比。 程式碼 public class Solutio
【劍指Offer】36兩個連結串列的第一個公共結點
題目描述 輸入兩個連結串列,找出它們的第一個公共結點。 時間限制:1秒;空間限制:32768K;本題知識點:連結串列 解題思路 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x):
【劍指offer{25-30}】複雜連結串列的複製、字串的排列、陣列中出現次數超過一半的數字、最小的K個數、連續子陣列的最大和
複雜連結串列的複製、字串的排列、陣列中出現次數超過一半的數字、最小的K個數、連續子陣列的最大和 複雜連結串列的複製 題目描述 輸入一個複雜連結串列(每個節點中有節點值,以及兩個指標,一個指向下一個節
劍指offer 36:兩個連結串列的第一個公共節點
#include <iostream> struct ListNode { public: int val; struct ListNode *next; }; using namespace std; class solution { public:
劍指offer——(26)複雜連結串列的複製
參考題解:chancy 參考圖解:C語言之複雜連結串列的複製(圖示詳解) ac程式碼 public class Solution { public RandomListNode Clone(RandomListNode pHead){
劍指Offer面試題24 反轉連結串列
輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 牛客網提交程式碼: /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x)
劍指offer——(30)刪除連結串列中重複的結點
難受啊 調了快三個小時 明明很簡單 思路也很清晰 可跑出來的結果就是和我在紙上走一遍的結果不一樣。。 //import java.util.ArrayList; class ListNode { int val; ListNode next = null;
《劍指offer》系列 兩個連結串列的第一個公共結點(Java)
連結 題目描述 輸入兩個連結串列,找出它們的第一個公共結點。 思路 倆個連結串列存在公共結點,意味著第一個公共結點之後的都是相同的,就是說,兩個連結串列的尾巴是相同的,我們可以分別算出兩個連結串列的長度之差lenDif ,然後遍歷長連結串列到lenDif的位置
劍指Offer面試題:14.連結串列的倒數第k個節點
PS:這是一道出境率極高的題目,記得去年參加校園招聘時我看到了3次,但是每次寫的都不完善。 一、題目:連結串列的倒數第k個節點 題目:輸入一個連結串列,輸出該連結串列中倒數第k個結點。為了符合大多數人的習慣,本題從1開始計數,即連結串列的尾結點是倒數第1個結點。例如一個連結串列有6個結點,從頭結點開始
劍指Offer面試題56:連結串列中環的入口節點 Java實現
/************************************************************** * Copyright (c) 2016, * All rights reserved. * 版 本 號:v1.0
劍指offer——在一個排序的連結串列中,存在重複的結點,請刪除該連結串列中重複的結點, # 重複的結點不保留,返回連結串列頭指標。
# 在一個排序的連結串列中,存在重複的結點,請刪除該連結串列中重複的結點, # 重複的結點不保留,返回連結串列頭指標。 例如,連結串列1->2->3->3->4->4->5 處理後為 1->2->5 # -*- coding:u