当前位置: 首页 > article >正文

代码随想录复习 203 移除链表元素

代码如下 

/**

 * Definition for singly-linked list.

 * type ListNode struct {

 *     Val int

 *     Next *ListNode

 * }

 */

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

             prehead := &ListNode{}   //设置一个虚拟头结点 

        

             prehead.Next = head      //虚拟头结点指向头结点 

             cur := prehead   //设置遍历指针

             for cur != nil && cur.Next != nil  { //遍历的终止条件,如果当前节点为空,或者当前节点为尾结点 

                 if cur.Next.Val == val {  //如果下一个节点的值等于目标值,则需要删除下一个节点,下一个节点则为删除的目标节点。

                    cur.Next = cur.Next.Next  //所以需要将目标节点指向的下一个节点的指针赋给当前指针指向目标节点的指针 

                 }else {

                     cur = cur.Next //如果不是目标值,节点向后移动  

                 }

             }

             newhead := prehead.Next 

             return newhead 

}


http://www.kler.cn/a/17477.html

相关文章:

  • Database Advantages (数据库系统的优点)
  • C语言入门到精通(第六版)——第十六章
  • Qt_day4_Qt_UI设计
  • DNS面临的4大类共计11小类安全风险及防御措施
  • Web安全之SQL注入---基础
  • [CKS] K8S ServiceAccount Set Up
  • nssctf web (3)
  • 八股+面经
  • 一个go http和grpc客户端库
  • Zigbee 无线串口通信模块( DL-22 )
  • 【Python入门篇】——Python基础语法(标识符与运算符)
  • 文献集锦 | 非因生物空间多组学技术在头颈部肿瘤中的研究策略
  • 7.3 有源滤波电路(1)
  • Springcloud--docker快速入门
  • k8s DCGM GPU采集指标项说明
  • 操作系统之死锁处理策略
  • 体验 nanoGPT
  • PWLCM分段线性混沌映射
  • 日语学习(一)
  • flink-on-yarn两种提交模式及其区别
  • 【Linux问题合集001】Linux中如何将用户添加到sudo组中的步骤
  • 武忠祥老师每日一题||不定积分基础训练(六)
  • Lattics ——一款简单易用、好看强大的知识管理工具
  • 【Spring Security第一篇】初始Spring Security、表单认证、认证与授权
  • Docker安全最佳实践
  • 算法的时间复杂度和空间复杂度(友友们专属限定版)