zoukankan      html  css  js  c++  java
  • 从尾到头输出链表

    链表的结构为:

    struct ListNode

    {

      int m_nKey;

      ListNode* next;

    };

    从头到尾的输出链表对于大家来说都是比较简单的,但是从尾到头应该怎么做好呢?

    其实可以这样想,从头到尾输出链表,并把链表的数据存放到栈中,当遍历到链表尾部的时候,再从栈中输出数据,此时得到的值就是从尾到头输出的值了,

    但是在这样的实现中,需要额外去维护一个栈,也是挺麻烦的,这时你可以想一下,栈的实现其实和递归的实现时一样的,那么可不可以不要用栈,而是使用递归实现呢

    这样的话更容易理解也不用额外去维护栈呢?这是可行的。

     1 void ReverseList(ListNode* pListHead)
     2 {
     3         if(pListHead != NULL)
     4         {
     5               
     6                 if (pListHead->m_pNext != NULL)
     7                 {
     8                         ReverseList(pListHead->next);
     9                 }
    10 
    11                
    12                 printf("%d", pListHead->m_nKey);
    13         }
    14 }
  • 相关阅读:
    Tomcat启动流程简析
    Tomcat的启停脚本源码解析
    Servlet规范
    CCNA
    CCNA-Part 6
    MYSQL 使用基础
    CCNA-Part5
    CCNA-Part4 -网络层
    MySQL 字符串索引优化方案
    CCNA-Part3
  • 原文地址:https://www.cnblogs.com/luoweiKnowledge/p/4209130.html
Copyright © 2011-2022 走看看