当前位置:   article > 正文

经典单链表反转三解法_反转单链表 (三种方法整理)

反转单链表 (三种方法整理)

前言

单链表真的是面试中考得最多的一道题,看似简单,但是当面试官问你还有优化的方法吗?你还能从容给面试官讲出优化的方法吗?今天我们就来看看反转单链表的几种方法。

一、递归解法

递归解法就是不断将一个大问题不断拆解,直到找到一个小问题的解能够代表全局的解,这就是递归,那么反转链表的Basecase就是当只有一个节点,或者没有node,也就是

if (node == null || node.next == null) {
   

            return;

   }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

拆解就是把大问题,分解成小一点点的问题,直到base case可以返回,进行第三步组合,组合就是用小问题的解去构造大问题的解;

  //比如node1指向node2的一个链表
  node1.next = node2;
  //把2指向1
  node2.next = node1;
  //合起来就如下
  node1.next
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/1016851
推荐阅读
相关标签
  

闽ICP备14008679号