// 反转单链表 ListNode * ReverseList(ListNode * pHead) { // 如果链表为空或只有一个结点,无需反转,直接返回原链表头指针 if(pHead == NULL || pHead->next == NULL) return pHead; ListNode * ...
分类:
其他好文 时间:
2020-07-04 22:37:54
阅读次数:
78
思路:利用快慢指针能实现在时间复杂度为O(n)的情况下,找到第k个节点 1,快指针先走k步 2,快慢指针一起走,直到快指针指向null时,慢指针所在位置就是倒数第k个节点 public static void main(String[] args) { ListNode eight = new Li ...
分类:
其他好文 时间:
2020-07-04 20:54:36
阅读次数:
92
O(1)的空间内合并两个链表 python class ListNode: def __init__(self, x): self.val = x self.next = None def merge(l1, l2): head = point = ListNode(0) while l1 and ...
分类:
其他好文 时间:
2020-07-02 09:27:37
阅读次数:
56
方法1:递归 1 /* 2 public class ListNode { 3 int val; 4 ListNode next = null; 5 6 ListNode(int val) { 7 this.val = val; 8 } 9 }*/ 10 public class Solution ...
分类:
其他好文 时间:
2020-07-01 21:58:59
阅读次数:
44
###反转链表 class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } public class LeetCodeReverseListNode { public static void main(String[ ...
分类:
编程语言 时间:
2020-06-29 00:41:42
阅读次数:
101
题目: 编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。 思路: 很简单一道题,哈希表 代码: public ListNode removeDuplicateNodes(ListNode head) { if(head == null){ return null; } Set<Integ ...
分类:
其他好文 时间:
2020-06-26 11:03:17
阅读次数:
51
#题目:206反转链表 我的解答: public ListNode reverseList(ListNode head) { ListNode tail=null; ListNode mid=null; while(head!=null){ mid=head; mid.next=tail; tail ...
分类:
其他好文 时间:
2020-06-25 23:45:27
阅读次数:
54
方法1: 迭代 时间复杂度:O(n) 空间复杂度:O(1) class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: def reverseList(self, head: ListNod ...
分类:
其他好文 时间:
2020-06-25 17:31:04
阅读次数:
44
方法1: 哈希表 时间复杂度:O(m+n) 空间复杂度:O(m)或O(n) class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: def getIntersectionNode(sel ...
分类:
其他好文 时间:
2020-06-25 15:46:32
阅读次数:
40
方法1:迭代 m、n为两个有序链表的长度 时间复杂度:O(m+n) 空间复杂度:O(1) class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next class Solution: def ...
分类:
其他好文 时间:
2020-06-25 09:54:49
阅读次数:
43