0
点赞
收藏
分享

微信扫一扫

数据结构学习日记(三)

GG_lyf 2022-02-15 阅读 45

一,单链表学习大纲

1)概念:每个结点除了存放数据元素外,还要存储指向下一个节点的指针,

不要求大片的连续空间,改变容量方便,无法逆向检索,要耗费一点空间存放指针。

2)实现方式:带头和不带头

3)基本操作:

(1)插入:带头和不带头节点,指定节点的后插和前插

(2)删除:带头和不带头,指定节点的删除(特殊情况最后一个只能从表头开始)

(3) 建立:尾插法(尾插法时候注意设置一个指向表位节点的指针)

                   和头插法(带头和不带头)注意重要应用:链表的逆置

(4) 查找:按位查找和按值查找,求表的长度

二,每日一题:剑指 Offer 06. 从尾到头打印链表

class Solution {
    public int[] reversePrint(ListNode head) {
        int count=0;
        ListNode p=head;
        while(p!=null){
            count++;
            p=p.next;
        }
        int []arr=new int[count];
        for(int i=count-1;i>=0;i--){
            arr[i]=head.val;
            head=head.next;
        }
        return arr;
    }
}

三,理论知识

1,Java通过方法重写和方法重载实现多态,方法重写是指子类重写了父类的同名方法,方法重载是指在同一个类中,方法的名字相同,但是参数列表不同。

2,执行顺序:父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数

非静态初始化块的执行顺序要在构造函数之前。

3,“假设利用 return 语句从 try 语句块中退出。在方法返回前,finally子句的内容将被执行。如果          finally 子句中也有一个 return 语句,这个返回值将会覆盖原始的返回值。”

举报

相关推荐

0 条评论