反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULLstruct ListNode* reverseList(struct ListNode* head){ struct ListNode *pre = NULL; struct L ...
分类:
编程语言 时间:
2020-03-14 16:40:58
阅读次数:
51
class ListNode: Value = '' # 节点要储存的值,因为Python是弱类型,因此无需传入泛型 Next = None # 下一个节点,初始化时为空值 def __init__(self, value): # 初始化,默认初始化节点时,必须给定节点要储存的值(Value)。 s ...
分类:
编程语言 时间:
2020-03-13 01:19:03
阅读次数:
66
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(in ...
分类:
其他好文 时间:
2020-03-12 10:06:33
阅读次数:
47
/*给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。 */public class Class16 { static class ListNode{ int val; ListNode next; public ListNode(int value, ListNode ne ...
分类:
编程语言 时间:
2020-03-09 21:16:14
阅读次数:
87
恢复内容开始 1、暴力法 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), next(NU ...
分类:
其他好文 时间:
2020-03-09 17:40:42
阅读次数:
64
要点: 1、计算旋转的次数rot=k%len 2、链表尾部要链接头部构成循环条件,才能输出完整的循环链表 3、在头部放指针分别遍历一定次数,寻找到头尾,再将尾部链接下一个元素断开又形成了单链表。 1 public ListNode rotateRight(ListNode head, int k) ...
分类:
其他好文 时间:
2020-03-09 13:14:13
阅读次数:
60
一:解题思路 链表是递归定义的,所以关于链表的大部分问题也可以用递归来解决。当然也可以不用递归来解决这个问题。这里来介绍2种方法,一种是递归方法,一种是非递归的方法。 二:完整代码示例 (C++版和Java版) 递归版C++ class Solution { public: ListNode* re ...
分类:
其他好文 时间:
2020-03-08 22:00:11
阅读次数:
76
1 void reverse(ListNode*& pre,ListNode* cur,ListNode* nxt){ 2 while(cur){ 3 nxt=cur->next; 4 cur->next=pre; 5 pre=cur; 6 cur=nxt; 7 } 8 } 定义一个这样的函数: 初 ...
分类:
其他好文 时间:
2020-03-07 16:18:51
阅读次数:
59
一、暴力解法 二、哈希表思路 将A链表放入哈希表中,对B链表进行遍历,查询是否有元素存在哈希表中。 哈希表建立方法: set<ListNode*>hash; 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * ...
分类:
其他好文 时间:
2020-03-04 12:52:12
阅读次数:
70
题目链接:链表中倒数第k个结点 题意:输入一个链表,输出该链表中倒数第k个结点。 题解:两个指针,让其中一个先走k-1步,那后走的指针,走到倒数第k个时,前面一个就走完了! 代码: 1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next ...
分类:
其他好文 时间:
2020-03-03 01:22:24
阅读次数:
80