栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

数据结构--链表

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据结构--链表

力扣 203. 移除链表元素 1.题目描述

题目链接

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。

输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]
示例 2:

输入:head = [], val = 1
输出:[]
示例 3:

输入:head = [7,7,7,7], val = 7
输出:[]
 

提示:

列表中的节点数目在范围 [0, 104] 内
1 <= Node.val <= 50
0 <= val <= 50

链表的删除,注意虚拟头结点的应用。

c++和Java都写了一下,好久不用c++基本语法忘了个八八九九。使用c++的时候,由于c++的内存回收需要手动回收,所以不要忘记delete掉已经使用结束的链表。

代码:

   ListNode* removeElements(ListNode* head, int val) {

         ListNode* listNode = new ListNode(-1);         
         listNode->next = head;
         ListNode* p = listNode;
 

         while( p->next != nullptr ){

                if(p->next->val == val){

                    ListNode* q = new ListNode(-1);
                    q = p->next;
                    if(q)
                        p->next = q->next;
                    delete q;
             
                }
                else 
                 p = p->next;
         }
         head = listNode->next;
         delete listNode;
         return head;
         
    }

java的写法可以说是完全一样了,只不过java的JVM提供了垃圾回收机制,JVM可以自动进行垃圾回收,不需要手动删除。

 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; }
  }

    public ListNode removeElements(ListNode head, int val) {

         ListNode listNode = new ListNode(-1);
         listNode.next = head;
         ListNode p = listNode;

         while (p.next != null) {

             if(p.next.val == val){
                 ListNode q = new ListNode(-1);
                 q = p.next;
                 if (q != null)
                    p.next = q.next;
             }
             else
                 p = p.next;

         }

        return listNode.next;

    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849529.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号