码迷,mamicode.com
首页 > 其他好文 > 详细

链表反转(递归方式,非递归方式)

时间:2016-12-03 01:28:04      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:nod   ret   turn   public   递归   lis   eve   return   class   

//非递归方式进行链表反转
public ListNode reverseList(ListNode head){
    if(head==null||head.next==null){
        return head;
    }else {
        ListNode pre=head;
        ListNode p=head.next;
        ListNode next=null;
        while (p!=null) {
            next=p.next;
            p.next=pre;
            pre=p;
            p=next;
        }
        head.next=null;
        return pre;
    }
}
//递归方式进行链表反转
public ListNode reverseListRecursive(ListNode head) {
    if(head==null||head.next==null){
        return head;
        
    }else{
        ListNode dot=recursive(head);
        head.next=null;
        return dot;
    }
}

public ListNode recursive(ListNode p){
    if(p.next==null){
        return p;
    }else{
        ListNode next=p.next;
        ListNode dot=recursive(next);
        next.next=p;
        return dot;
    }
}

 

链表反转(递归方式,非递归方式)

标签:nod   ret   turn   public   递归   lis   eve   return   class   

原文地址:http://www.cnblogs.com/fanfengzi/p/6127781.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!