首页 > 其他 > 详细

p9 翻转单链表(leetcode206)

时间:2020-03-08 21:48:49      阅读:68      评论:0      收藏:0      [点我收藏+]

一:解题思路

链表是递归定义的,所以关于链表的大部分问题也可以用递归来解决。当然也可以不用递归来解决这个问题。这里来介绍2种方法,一种是递归方法,一种是非递归的方法。

二:完整代码示例 (C++版和Java版)

递归版C++

class Solution 
{
public:
    ListNode* reverseList(ListNode* head) 
    {
        ListNode* ret = NULL;

        if (head == NULL)
        {
            ret = NULL;
        }
        else if (head->next == NULL)
        {
            ret = head;
        }
        else
        {
            ListNode* guard = head->next;
            ret = reverseList(head->next);
            guard->next = head;
            head->next = NULL;
        }

        return ret;
    }
};

递归版Java

class Solution 
{
    public ListNode reverseList(ListNode head) 
    {
          ListNode ret=null;
          
          if(head==null)
          {
              ret=null;
          }
          else if(head.next==null)
          {
              ret=head;
          }
          else
          {
              ListNode guard=head.next;
              ret=reverseList(head.next);
              guard.next=head;
              head.next=null;
          }
          
          return ret;
    }
}

迭代法C++:

class Solution 
{
public:
    ListNode* reverseList(ListNode* head) 
    {
        ListNode* cur = head;
        ListNode* pre = NULL;

        while (cur != NULL)
        {
            ListNode*  next = cur->next;
            cur->next = pre;

            pre = cur;
            cur = next;
        }

        return pre;
    }
};

迭代法Java:

class Solution 
{
    public ListNode reverseList(ListNode head)
    {
          ListNode cur=head;
          ListNode pre=null;
          
          while(cur!=null)
          {
              ListNode next=cur.next;
              cur.next=pre;
              
              pre=cur;
              cur=next;
          }
          
          return pre;
    }
}

 

p9 翻转单链表(leetcode206)

原文:https://www.cnblogs.com/repinkply/p/12445049.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!