从LeetCode走进链表
Posted Recently 祝祝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从LeetCode走进链表相关的知识,希望对你有一定的参考价值。
链表
- 链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)
public class ListNode
int val;
ListNode next;
ListNode()
ListNode(int val) this.val = val;
ListNode(int val, ListNode next) this.val = val; this.next = next;
1:移除链表元素
讲解:
链表具有前pre跟后next的概念,由于可能需要删除的头节点,所以想要一个方法契合所有地方的节点删除,在链表的头部添加一个节点
代码:
public class removeLinkedList
public static ListNote removeElements(ListNote head, int val)
if (head == null)
return head;
//头结点前面添加一个节点
ListNote shimmer = new ListNote(-1, head);
ListNote pre = shimmer;
ListNote cur = head;
while (cur != null)
if (cur.val == val)
pre.next = cur.next;
else
pre = cur;
cur = cur.next;
return shimmer.next;
2:设计链表
以上是关于从LeetCode走进链表的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode练习(Python):链表类:第92题:反转链表 II:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。