25. Reverse Nodes in k-Group 用栈的形式存储k个节点并反转,一个是用来入栈分段的,一个是用来出栈翻转的 空间复杂度O( N ) class Solution { public ListNode reverseKGroup(ListNode head, int k) { i ...
分类:
其他好文 时间:
2020-01-13 13:09:49
阅读次数:
79
题目描述 用C++实现含头结点的单链表,然后实现单链表的两个结点交换位置。 注意不能简单交换两个结点包含数据,必须通过修改指针来实现两个结点的位置交换 交换函数定义可以参考: swap(int pa, int pb) //pa和pb表示两个结点在单链表的位置序号 swap (ListNode * p ...
分类:
其他好文 时间:
2020-01-10 20:38:37
阅读次数:
110
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; */ class Solution { public: ListNode* EntryNodeOfLoop ...
分类:
其他好文 时间:
2020-01-01 21:05:30
阅读次数:
104
题目描述 解题描述 public ListNode deleteDuplication(ListNode pHead) { if(pHead == null || pHead.next == null) { return pHead; } ListNode next = pHead.next; if ...
分类:
其他好文 时间:
2019-12-29 14:58:19
阅读次数:
44
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 解题思路:先入栈相当于链表逆序再出栈实现链表从尾到头的顺序输出。 1 /** 2 * public class ListNode { 3 * int val; 4 * ListNode next = null; 5 * 6 * List ...
分类:
其他好文 时间:
2019-12-25 01:36:44
阅读次数:
93
非递归的代码: 1. 首先添加一个头节点,以方便碰到第一个,第二个节点就相同的情况 2.设置 pre ,last 指针, pre指针指向当前确定不重复的那个节点,而last指针相当于工作指针,一直往后面搜索。 public class ListNode { int val; ListNode nex ...
分类:
编程语言 时间:
2019-12-23 22:11:09
阅读次数:
110
代码: /* *带头节点的单链表 */ #include<iostream> #include<stdlib.h> using namespace std; typedef struct ListNode { int data; struct ListNode* next; } Node,*PNod ...
分类:
其他好文 时间:
2019-12-19 12:43:39
阅读次数:
88
1 class Solution: 2 def getDecimalValue(self, head: ListNode) -> int: 3 res = 0 4 lists = [] 5 while head != None: 6 lists.append(head.val) 7 head = h... ...
分类:
其他好文 时间:
2019-12-15 14:15:27
阅读次数:
81
对链表的相邻节点两两交换 数组方法构建 javascript var swapPairs = function(node) { var nodes = [], dummy = new ListNode, prev = dummy var map = {}, index = 0 while(node) ...
分类:
其他好文 时间:
2019-12-15 10:33:41
阅读次数:
59
递归算法真是太优美了 1 /** 2 * Definition for singly-linked list. 3 * public class ListNode { 4 * int val; 5 * ListNode next; 6 * ListNode(int x) { val = x; } 7 ...
分类:
其他好文 时间:
2019-12-07 23:31:53
阅读次数:
84