LeetCode---Delete Node in a Linked List
来源:互联网 发布:淘宝买家后台操作流程 编辑:程序博客网 时间:2024/05/16 05:43
题目大意:给出一个链表中的节点,在链表中删除该节点,如果是尾节点则不删除。如:链表 1 -> 2 -> 3 -> 4 要删除链表中值为3的节点,则操作后的链表为
1 -> 2 -> 4。
算法思想:
1.设置一个前驱节点和一个后继节点。
2.判断后继节点是否为空,若为空则是尾节点直接返回。否则遍历链表。
3.从要删除节点开始,一次将后继节点中的值向前移动,直到遍历完链表为止。
4.删除链表末尾的节点。
代码如下:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: void deleteNode(ListNode* node) { if(node->next==NULL) return; else{ ListNode* pNext=node->next; ListNode* pre=node; while(pNext!=NULL){ node->val=pNext->val; pre=node;//记录前驱指针 node=pNext; pNext=pNext->next; cout<<"current:"<< node->val<<endl; } pre->next=NULL; delete node; } }};
0 0
- leetcode: Delete Node in a Linked List
- LeetCode Delete Node in a Linked List
- 【leetcode】Delete Node in a Linked List
- Leetcode: Delete Node in a Linked List
- [LeetCode]Delete Node in a Linked List
- 【leetcode】Delete Node in a Linked List
- Leetcode Delete Node in a Linked List
- LeetCode || Delete Node in a Linked List
- [LeetCode] Delete Node in a Linked List
- LeetCode-Delete Node in a Linked List
- 【leetCode】Delete Node In A Linked List
- [leetcode] Delete Node in a Linked List
- [LeetCode]Delete Node in a Linked List
- [leetcode]Delete Node in a Linked List
- Leetcode: Delete Node in a Linked List
- LeetCode Delete Node in a Linked List
- LeetCode-Delete Node in a Linked List
- leetcode | Delete Node in a Linked List
- 优化Extract抽取进程性能,解决OGG抽取日志延迟
- 线性素数筛法模板
- 升级xcode7之后,真机调试出现BaiduMapAPI.framework/BaiduMapAPI(BMAddrList.o)' does not contain bitcode的问题
- jquery 中的hover(),mouseleave()&mouseenter()和mouseover()&mouseout()的区别
- 归档以及反归档
- LeetCode---Delete Node in a Linked List
- C#通用数据库操作类 支持Access/MSSql/Orale/MySql等数据库
- 解决idea工具下tomcat中文乱码问题
- SHOPING 购物(学了老男孩视频写的)
- Android中将布局文件/View添加至窗口过程分析 ---- 从setContentView()谈起
- zoj 2539 Energy Minimization 【构建最小割模型求解 函数最值】【基础题】
- Struts 2 Web开发学习实录--总结
- 每个程序员都应该知道的8个Linux命令
- Unity3D实现3D立体游戏原理及过程