leetcode 237. Delete Node in a Linked List 删除没有父结点的元素
来源:互联网 发布:java 网站流量统计 编辑:程序博客网 时间:2024/04/29 09:05
Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.
Supposed the linked list is 1 -> 2 -> 3 -> 4 and you are given the third node with value 3, the linked list should become 1 -> 2 -> 4 after calling your function.
这道题很简单,就是删除一个结点,题目中说这个结点不是尾结点,所以如何删除呢?交换当前结点和下一个结点的value,然后删除下一个结点即可。
代码如下:
/*class ListNode { int val; ListNode next; ListNode(int x) { val = x; }} *//* * 这个题说删除的结点不是尾结点, * 那么交换当前待删除和下一个结点的val * 然后删除下一个节点即可 * * 这道题没哟给出父节点 * 这个第一次不太好想到 * * */public class Solution{ public void deleteNode(ListNode node) { if(node==null) return ; else { int tmp=node.val; node.val=node.next.val; node.next.val=tmp; node.next=node.next.next; return ; } }}
下面是C++的做法,这道题明确要求删除一个节点node,但是这个节点不是尾节点,那么做法很简单了直接和下一个节点交换元素,然后删除即可
代码如下:
#include <iostream>#include <algorithm>#include <vector>#include <set>#include <string>#include <map>using namespace std;/*struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};*/class Solution {public: void deleteNode(ListNode* node) { if (node == NULL) return; else { int tmp = node->val; node->val = node->next->val; node->next->val = tmp; node->next = node->next->next; } }};
阅读全文
0 0
- leetcode 237. Delete Node in a Linked List 删除没有父结点的元素
- (LeetCode)Delete Node in a Linked List --- 删除链表中结点
- [LeetCode]237. Delete Node in a Linked List(删除链表结点)
- LeetCode OJ 之 Delete Node in a Linked List (删除链表中的结点)
- [leetcode] Delete Node in a Linked List 删除链表中的一个结点
- leetcode解题之237# Delete Node in a Linked List Java版 (删除链表中指定的结点)
- 237. Delete Node in a Linked List&在O(1)时间删除链表结点
- 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
- 最新版Sublime Text Build 3143 x64汉化教程 + 注册码
- 雷鸣的游戏人生(五) --- 制定目标
- js全局变量的理解
- Ubuntu14.04系统安装Java 1.8
- SSM+Redis整合
- leetcode 237. Delete Node in a Linked List 删除没有父结点的元素
- 基于Eclipse的Birt报表开发常见问题
- react引入antd打包上传时报错:Menu is not defined
- Effective STL 40 Make functor classes adaptable
- 设计模式6-适配器模式
- 输出任意字符串中最长的回文长度
- 数据结构学习笔记:图
- 兼容ie8的透明度
- 英特尔收购Nervana后的第一张王牌Lake Crest,号称比GPU速度快10倍,年底测试