题解 | #反转链表#

反转链表

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号节点。完成反转。
链表无法随机查找,只能从首节点找到尾节点。利用递归遍历到尾部节点,即当前节点的下一个为空。从尾节点开始指向上一个节点。

全部评论

相关推荐

11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
威猛的小饼干正在背八股:挂到根本不想整理
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务