首页 > 其他分享 >数据结构 玩转数据结构 5-4 链表的天然递归结构性质

数据结构 玩转数据结构 5-4 链表的天然递归结构性质

时间:2022-11-01 11:35:28浏览次数:81  
标签:head ListNode 递归 val 链表 数据结构 递归结构

0    课程地址

https://coding.imooc.com/lesson/207.html#mid=13440

 

1    重点关注

1.1    代码草图

 

1.2    递归和链表对比

通过对比,递归要比链表的实现运行时间更少,内存更小

 

 

 

 

2    课程内容


3    Coding

3.1    leetCode203 递归实现

  •  测试类:
package com.company;

/**
 *  使用递归实现
 *  203问题解决 删除链表的元素
 * @author weidoudou
 * @date 2022/11/1 10:47
 **/
class Solution2 {
    public ListNode removeElements(ListNode head, int val) {
        //1 基本方法
        if(null==head){
            return null;
        }

        //2 方法拆分
        ListNode cur = removeElements(head.next,val);

        if(head.val==val){
            return cur;
        }else{
            head.next = cur;
            return head;
        }

    }

    public static void main(String[] args) {
        int[] nums = {1,2,6,3,4,5,6};
        ListNode listNode = new ListNode(nums);
        System.out.println(listNode);


        ListNode res =  new Solution2().removeElements(listNode,6);
        System.out.println(res);
    }
}

 

 

  • 测试结果:
1->2->6->3->4->5->6->Null
1->2->3->4->5->Null

Process finished with exit code 0

 

标签:head,ListNode,递归,val,链表,数据结构,递归结构
From: https://www.cnblogs.com/1446358788-qq/p/16847100.html

相关文章

  • 数据结构 玩转数据结构 5-3 递归基础与递归的宏观语意
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13435 1重点关注1.1代码草图   1.2递归的宏观语义核心:把问题转......
  • 数据结构 玩转数据结构 5-2 测试自己的Leetcode链表代码
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13434 1重点关注1.1leetCode的代码 如何本地调试详见3.1 1.2遗忘的......
  • 循环链表解决约瑟夫问题
    定义人类结构体publicclasspeople{intnum;peoplenext;publicpeople(intnum){this.num=num;}publicintgetNum(){......
  • 数据结构中的七大排序算法—1
        今天我们来讲解有关数据结构的知识,首先我们讲解数据结构的语言是C语言,使用的是vs2013编译器进行测试代码。    在我们的生活中,很多东西都是有排序的,就比......
  • 队列与栈——数据结构与算法学习
    栈与队列队列队列的定义其实队列这个数据结构就是计算机模拟现实生活中的体现,就跟一个人排队一样,先排上就先走,拿最新很火的梨泰院的例子来说:走在前面的人就应该尽快出去......
  • 单链表输出倒数第k个元素
    这个算法已经有不少人写过了,但是为了考研后期复习还是在此记录一下自己的心得。方法有如下几种:1、遍历单链表两次,第一次获取链表总长度,第二次寻找倒数第K个元素就很简单......
  • 单链表逆序输出
    将单链表逆序输出,有好几种思路。比如:将单链表逆序后输出;或者顺序遍历单链表然后将其存入栈,再用栈来实现;或者就是使用递归。可想而知,递归是最简单的一种方法。因此下面以带......
  • C++ 不知树系列之认识二叉树(顺序、链表存储的实现)
    1.概念什么是二叉树?顾名思义,二叉树指树中的任何一个结点(除叶结点)的子结点不能多于2个。二叉树可分为:一般二叉树。只要符合二叉树的定义便可。满二叉树。满的意......
  • 大数据结构流程分析
    大数据结构流程分析:技术与业务,对于业务的理解是非常重要的。基于业务产生的价值,大数据工程师才会有自己的价值。大数据预测与分析,并不是能够预测所有的事情。  ......
  • Java小白翻身教程-链表结构与编译大法(3)
    D盘下面的tool文件夹已经有三个工具类了(其实是两个,CustNode是为了TuziLinkedList服务的),我们这一节来进行打包,这样的好处就是不用每次编译都把tool里面的类也带上了。步骤1......