zoukankan      html  css  js  c++  java
  • 【剑指offer】06从尾到头打印链表,C++实现

    本文是原创文章,转载请注明出处!

    0.前言

    # 本文为牛客网《剑指offer》刷题笔记

    1.题目

    # 输入一个链表,从尾到头打印链表每个节点的值

    2.思路

    # 不改变链表结构的情况下,首先,遍历链表将链表结点值存入栈中;然后,从栈顶逐个输出结点的值到向量。

    3.code

      1 /**
      2 *  struct ListNode {
      3 *        int val;
      4 *        struct ListNode *next;
      5 *        ListNode(int x) :
      6 *              val(x), next(NULL) {
      7 *        }
      8 *  };
      9 */
     10 class Solution {
     11 public:
     12     vector<int> printListFromTailToHead(ListNode* head) {
     13 
     14         ListNode *p = head; // 遍历链表
     15         stack<int> stk;     // stack用于存储结点的值
     16         vector<int> vec;    // vector用于存储出栈的值
     17 
     18         // 遍历链表
     19         while(p!=NULL){
     20             stk.push(p->val); // 压栈
     21             p = p->next;      // 下一个结点
     22         }
     23 
     24         // 遍历栈
     25         while(!stk.empty()){
     26             vec.push_back(stk.top()); // 出栈后存储向量
     27             stk.pop();                // 删除栈顶元素
     28         }
     29         return vec;
     30 
     31     }
     32 };
    View Code
  • 相关阅读:
    关于C++类中的静态数据成员
    关于C++中char,sizeof,strlen,string
    C++学习笔记(7)
    C++学习笔记(6)
    C++学习笔记(指针)
    C++学习笔记(4)
    UVA 10780
    UVA 531
    HDU, 3579 Hello Kiki
    UVA, 10413 Crazy Savages
  • 原文地址:https://www.cnblogs.com/wanglei5205/p/8502753.html
Copyright © 2011-2022 走看看