算法学习day03链表part01-203、707、206--待办

复制代码
// 这块需求重新进行学习
package
LeetCode.linkedlistpart01; public class ListNode { // 结点的值 int val; // 下一个结点 ListNode next; // 节点的构造函数(无参) public ListNode() { } // 节点的构造函数(有一个参数) public ListNode(int val) { this.val = val; } // 节点的构造函数(有两个参数) public ListNode(int val, ListNode next) { this.val = val; this.next = next; } }
复制代码
复制代码
package LeetCode.linkedlistpart01;

/**
 * 203. 移除链表元素
 * 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。
 * 示例:
 * 输入:head = [1,2,6,3,4,5,6], val = 6
 * 输出:[1,2,3,4,5]
 * */
public class RemoveLinkedListElements_203 {
    public static void main(String[] args) {
        // 链表这块先暂停
        // 链表数据结构这块属实不熟悉,所以等把这块知识先补一下再进行练习
    }
    public static ListNode removeElements(ListNode head, int val) {
        if (head == null) {
            return head;
        }
        // 因为删除可能涉及到头节点,所以设置dummy节点,统一操作
        ListNode dummy = new ListNode(-1, head);
        ListNode pre = dummy;
        ListNode cur = head; //定义一个临时指针
        while (cur != null) {
            if (cur.val == val) {
                pre.next = cur.next;
            } else {
                pre = cur;
            }
            cur = cur.next;
        }
        return dummy.next;
    }


}
复制代码

 

posted @   坤坤无敌  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示