题解 | #反转链表#

反转链表

https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

  public ListNode ReverseList(ListNode head) {
      if(head==null||head.next==null)return head;
        ListNode newNode=ReverseList(head.next);
        head.next.next=head;
        head.next=null;
        return newNode;
    }

假设有两个节点,1号节点指向2号节点,2号节点指向空。
反正算法,1号节点的下一个节点(2号节点)的下一个节点(空节点)指向1号节点,完成2号节点执行1号节点。
同时1号节点的指向空,断开指向2号节点。完成反转。
链表无法随机查找,只能从首节点找到尾节点。利用递归遍历到尾部节点,即当前节点的下一个为空。从尾节点开始指向上一个节点。

全部评论

相关推荐

12-09 16:31
已编辑
门头沟学院 前端工程师
Apries:这个阶段来说,很厉害很厉害了,不过写的简历确实不是很行,优势删掉吧,其他的还行
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务