linkedlist
细雨逐光
这个作者很懒,什么都没留下…
展开
-
002 Add Two Numbers [Leetcode]
题目内容: You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as原创 2015-11-09 14:39:10 · 341 阅读 · 0 评论 -
025 Reverse Nodes in k-Group [Leetcode]
题目内容: Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If the number of nodes is not a multiple of k then left-out nodes in the end should remain原创 2015-10-27 20:29:18 · 340 阅读 · 0 评论 -
002 Add Two Numbers [Leetcode]
题目内容: You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as原创 2015-10-27 14:48:09 · 329 阅读 · 0 评论 -
138 Copy List with Random Pointer [Leetcode]
题目内容: A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null. Return a deep copy of the list. 解题思路: 最优方法时间复杂度为O(n)且不需原创 2015-10-27 21:42:02 · 495 阅读 · 0 评论 -
109 Convert Sorted List to Binary Search Tree [Leetcode]
题目内容: Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST. 思路: 只要知道了链表的中间节点,就可以把问题分解为子问题,中间节点是当前的根节点,左边的排序链表构成左子树,右边的构成右子树。 用了两种方法 1. 一种是将节原创 2015-10-27 21:31:05 · 400 阅读 · 0 评论 -
024 Swap Nodes in Pairs [Leetcode]
题目内容: Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2->3->4, you should return the list as 2->1->4->3. Your algorithm should use only cons原创 2015-10-27 19:11:49 · 325 阅读 · 0 评论 -
023 Merge k Sorted Lists [Leetcode]
题目内容: Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 题目分析: k个排过序的链表,要将它们合并起来就要求能够在较短的时间内将当前的k个数进行排序,并且能够高效得支持数字的增删操作。 可以使用的方法有:败者树,堆排序,这两个算法在插入、删原创 2015-10-27 19:07:34 · 383 阅读 · 0 评论 -
019 Remove Nth Node From End of List [Leetcode]
题目内容: Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from t原创 2015-10-27 16:03:53 · 260 阅读 · 0 评论 -
061 Rotate List [Leetcode]
题目内容: Given a list, rotate the list to the right by k places, where k is non-negative. For example: Given 1->2->3->4->5->NULL and k = 2, return 4->5->1->2->3->NULL. 思路: 使用双指针。注意处理k比链表长度还要原创 2015-10-27 20:48:43 · 300 阅读 · 0 评论 -
082&083 Remove Duplicates from Sorted List I II [Leetcode]
题目内容: Given a sorted linked list, delete all duplicates such that each element appear only once. For example, Given 1->1->2, return 1->2. Given 1->1->2->3->3, return 1->2->3. 思路: 很清楚,顺序遍历原创 2015-10-27 20:53:16 · 263 阅读 · 0 评论 -
206 Reverse Linked List [Leetcode]
题目内容: Reverse a singly linked list. Hint: A linked list can be reversed either iteratively or recursively. Could you implement both? 解题思路之前提到过,直接贴代码: 迭代解法:/** * Definition for singly-linked原创 2015-10-28 00:40:18 · 301 阅读 · 0 评论 -
148 Sort List [Leetcode]
题目内容: Sort a linked list in O(n log n) time using constant space complexity. 根据给出的时间复杂度,可以想到满足的排序方法有: 1. 快速排序 2. 堆排序 3. 归并排序再考虑空间复杂度: 1. 快速排序主要要实现partition算法,在数组中它实现的算法复杂度为O(n),利用链表,同样可以在O(n)时间内实原创 2015-10-28 00:10:37 · 355 阅读 · 0 评论 -
143 Reorder List [Leetcode]
题目内容: Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do this in-place without altering the nodes’ values. For example, Given {1,2,3,4},原创 2015-10-27 23:49:41 · 365 阅读 · 0 评论