zoukankan      html  css  js  c++  java
  • 反转链表

    struct ListNode
    {
          int       val_;
          ListNode* next;
    	  ListNode(int val): val_(val),next(NULL){}
    };
    //非递归
    ListNode *reverse(ListNode *head)
    {
    	if(head == NULL) return NULL;
    	
    	ListNode* vir = new ListNode(0);
    	vir->next = NULL;
    	ListNode *p = head;
    	
    	while(p != NULL)){
    		ListNode *q = p->next;
    		p->next = vir->next;
    		vir->next = p;
    		p = q;
    	}
    	
    	head = vir->next;
    	delete vir;
    	return head;
    } 
    //递归
    ListNode *reverse(ListNode *head)
    {
    	if(head == NULL)
    	  return NULL;
    	if(head->next == NULL)
    		return head;
    
    	ListNode *tp = head->next;
    	ListNode *p = reverse(tp);
    	tp->next = head;
    	head->next = NULL;
    	
        
    	return p;
    }
      
    

      

  • 相关阅读:
    Palindrome
    Girls' research
    最长回文
    Water Tree
    Alternating Current
    Psychos in a Line
    Feel Good
    Color the Fence
    javaScript内置类Date,Math等
    DOM之兄弟节点
  • 原文地址:https://www.cnblogs.com/graph/p/3321441.html
Copyright © 2011-2022 走看看