链表 - 哑节点

哑节点是初始值为NULL的特殊节点,用于解决链表操作中的边界问题,避免处理头节点为空的情况,简化代码并降低异常风险。通过在函数中创建哑节点,可以省略空节点判断,提高代码效率。文章介绍了哑节点的定义、使用场景以及如何引入哑节点优化函数。
摘要由CSDN通过智能技术生成

个人理解,哑节点(dummy node)是初始值为NULL的节点,创建在使用到链表的函数中,可以起到避免处理头节点为空的边界问题的作用,减少代码执行异常的可能性。

也就是说,哑节点的使用可以对代码起到简化作用省略当函数的入口参数为空时的判断)。


Below: 补充于2018.10.09

这里首先要感谢stackoverflow网站attaboy182的回答
本文参考出处:https://stackoverflow.com/questions/37324972/what-is-a-dummy-head

如下,我们先定义结构体:

struct ListNode {
   
    int val;
    struct ListNode *next;
};

再定义函数为:

ListNode *addNode( ListNode *node, int num){
   	// 函数返回的是尾节点
    struct ListNode *new = (struct ListNode*) malloc( 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值