注意分情况讨论:

1. 要删除的不是尾节点

2. 链表只有一个节点

3. 链表中有多个节点,删除尾节点

 void DeleteNode(ListNode** pListHead, ListNode* pToBeDeleted)
{
if(!pListHead || !pToBeDeleted)
return; // 要删除的结点不是尾结点
if(pToBeDeleted->m_pNext != NULL)
{
ListNode* pNext = pToBeDeleted->m_pNext;
pToBeDeleted->m_nValue = pNext->m_nValue;
pToBeDeleted->m_pNext = pNext->m_pNext; delete pNext;
pNext = NULL;
}
// 链表只有一个结点,删除头结点(也是尾结点)
else if(*pListHead == pToBeDeleted)
{
delete pToBeDeleted;
pToBeDeleted = NULL;
*pListHead = NULL;
}
// 链表中有多个结点,删除尾结点
else
{
ListNode* pNode = *pListHead;
while(pNode->m_pNext != pToBeDeleted)
{
pNode = pNode->m_pNext;
} pNode->m_pNext = NULL;
delete pToBeDeleted;
pToBeDeleted = NULL;
}
}

最新文章

  1. 【WPF】 返回随机颜色,Random r= new Random() 不能放在函数里!
  2. PHP中计划任务
  3. K米交流会现场图
  4. [HDOJ1015]Safecracker(DFS, 组合数学)
  5. Install GDAL in OpenSUSE 12.3 Linux
  6. java获取当前方法
  7. Json数据时间格式的处理
  8. Qt多线程编程总结(一)(所有GUI对象都是线程不安全的)
  9. 开源 .net license tool, EasyLicense !
  10. 基于react全家桶+antd-design+webpack2+node+express+mongodb开发的前后台博客系统
  11. 使用java生成mapbox-gl可读的vector tile
  12. java 锁 Lock接口详解
  13. SpringBoot2.0 redis生成组建和读写配置文件
  14. bzoj 1812
  15. C语言实现split以某个字符分割一个字符串
  16. ECharts.js学习动态数据绑定
  17. Practice2 结对子之“小学四则运算”
  18. [LeetCode] 704. Binary Search_Easy tag: Binary Search
  19. CSS(三)--自定义标签
  20. 使用kafka和zookeeper 构建分布式编译环境

热门文章

  1. bzoj 2434 AC自动机+树状数组
  2. java io-1基本概念
  3. 前端PHP入门-005-爱情是常量还是变量
  4. tomcat启动 报org.apache.catalina.LifecycleException异常
  5. Java集合(4)一 红黑树、TreeMap与TreeSet(下)
  6. CodeBlocks调试器设置错误问题
  7. 字符串:SAM
  8. C# 遍历枚举
  9. NYOJ 231 Apple Tree (树状数组)
  10. php webshell常见函数