• 从尾到头打印链表


    题目描述

    输入一个链表,从尾到头打印链表每个节点的值。 
    输入描述:
    输入为链表的表头
     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(struct ListNode* head) {
    13          /*
    14          解题思路:(没有带头结点)
    15          1、从尾到头打印链表每个节点的值,先将链表反转,然后从头到尾一次打印
    16         */
    17         ListNode *node=head;//第一元素的指针
    18         ListNode *preNode=NULL;   //前一个节点的指针(必须从NULL开始)
    19         ListNode *nextNode=NULL;  //后一个节点的指针
    20         while(node){
    21             nextNode=node->next;
    22             node->next=preNode;
    23             preNode=node;
    24             node=nextNode;
    25         }
    26        vector<int> v;
    27        while(preNode){  //打印链表
    28            v.push_back(preNode->val);
    29            preNode=preNode->next;
    30        }
    31       return v;
    32     }
    33 };
  • 相关阅读:
    实现PHP Thread基类
    完美实现PHP多线程
    Centos操作记录(一)
    Centos Minimal7 安装问题
    Server Git开发流程
    APP Git协作流程
    git学习笔记
    CentOS安装Nginx
    C++学习笔记(一)
    sql进阶:分组查询、子查询、连接查询
  • 原文地址:https://www.cnblogs.com/dingou/p/5830138.html
Copyright © 2020-2023  润新知