逆向打印链表

来源:互联网 发布:js获取input文本框宽度 编辑:程序博客网 时间:2024/05/22 04:24

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


  1. vector<int> print(ListNode* head)     //递归
  2. {
  3.     vector<int> v;

  4.     if(head != NULL)
  5.     {
  6.        if(head->next != NULL)
  7.        {
  8.           v =print(head->next);
  9.        }
  10.       
  11.        v.push_back(head->val);
  12.     }
  13.    
  14.      return v;
  15. }  



  1. vector<int> print(ListNode* head)     //非递归
  2. {
  3.     vector<int> v;

  4.     while(head != NULL)
  5.     {
  6.         v.insert(v.begin(), head->val);
  7.  
  8.         head = head->next;
  9.     }
  10.        
  11.      return v;



========================================

  1. void Reverse(LinkList &L)
  2.  {
  3.     Lnode *p, *q;
  4.      p = L->next;
  5.      L->next = NULL;
  6.     while(p!=NULL)
  7.     {
  8.         q = p; 
  9.         p= p->next;
  10.         p->next = L->next;
  11.         L->next = q;
  12.      }
  13. }
  14.  
  15.      

0 0