LinkedList
文章平均质量分 70
candy_crush
胡编乱写
展开
-
Odd Even Linked List
Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.You should try to do it in原创 2016-09-08 22:48:59 · 264 阅读 · 0 评论 -
Insertion Sort List
题意:实现链表的插入排序 插入排序是一种O(n^2)复杂度的算法,就是每次循环找到一个元素在当前排好的结果中相对应的位置,然后插进去,经过n次迭代之后就得到排好序的结果了。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next;原创 2016-09-08 10:40:04 · 183 阅读 · 0 评论 -
Reorder List
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}, reorder it to原创 2016-09-07 23:51:57 · 312 阅读 · 0 评论 -
Palindrome Linked List 回文链表
Given a singly linked list, determine if it is a palindrome.题意: 判断一个链表是否是回文链表,回文链表就是无论从左读还是从右读都一样例如 1->2->3->2->1 需要注意的是空链表和只有一个节点的链表都是回文链表解题思路:反转链表,将链表后半段原地翻转,再将前半段、后半段依次比较,判断是否相等该方法时间复杂度为原创 2016-09-05 16:42:15 · 205 阅读 · 0 评论 -
Linked List Cycle II
Given a linked list, return the node where the cycle begins. If there is no cycle, return null.Note: Do not modify the linked list.Follow up:Can you solve it without using extra space? 题原创 2016-09-07 22:33:04 · 210 阅读 · 0 评论 -
Reverse Linked List I,II
Reverse a singly linked list.题意:反转链表方法一:遍历思路:使用辅助节点dummy。初始化时dummy..next指向head,并从第二个节点开始遍历,把遍历过的节点一次插入在dummy节点之后,最后返回dummy.next即可/** * Definition for singly-linked list. * public class Lis原创 2016-09-05 12:40:29 · 205 阅读 · 0 评论 -
Partition List
Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.You should preserve the original relative order of the nodes in each of原创 2016-09-07 09:55:40 · 260 阅读 · 0 评论 -
Rotate List
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值,将链表向右旋转K个位置/原创 2016-09-06 18:02:57 · 198 阅读 · 0 评论 -
Remove Duplicates from Sorted List
题意:输入一个有序链表,删除重复元素,原创 2016-09-04 23:15:17 · 175 阅读 · 0 评论 -
Delete Node in a Linked List
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原创 2016-09-05 17:00:07 · 211 阅读 · 0 评论 -
Remove Linked List Elements
Remove all elements from a linked list of integers that have value val.ExampleGiven: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6Return: 1 --> 2 --> 3 --> 4 --> 5题意:去除链表中的目标元素。链表中的值可能有重复原创 2016-09-05 10:11:22 · 202 阅读 · 0 评论 -
Intersection of Two Linked Lists
Write a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists:A: a1 → a2 ↘原创 2016-09-05 09:47:17 · 150 阅读 · 0 评论 -
Linked List Cycle
Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?题意:判断链表中是否有环思路:采用快慢指针的方法,快指针走两步,慢指针走一步,如果有环,则总有相遇的时候即快慢指针相等的时候/** * Definitio原创 2016-09-04 23:36:19 · 166 阅读 · 0 评论 -
Swap Nodes in Pairs
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 constant space. Y原创 2016-09-04 22:14:10 · 255 阅读 · 0 评论 -
Merge Two Sorted Lists
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.合并两个有序链表,返回合并后的有序链表头由于两个数去链表可能为空,所以增加一个dummy节点,时dummy原创 2016-09-04 16:59:47 · 183 阅读 · 0 评论 -
Remove Nth Node From End of List
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 the end, the原创 2016-09-04 13:46:42 · 202 阅读 · 0 评论 -
Reverse Nodes in k-Group
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 as it is原创 2016-09-09 16:40:01 · 150 阅读 · 0 评论 -
Add Two Numbers
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 a link原创 2016-09-09 16:14:54 · 205 阅读 · 0 评论 -
Sort List
题意:对链表进行排序,要求的时间复杂度为O(n log n)。解题思路:O(nlogn)的排序有快速排序、归并排序、堆排序。这里使用归并排序,归并排序的基本思想是:找到链表的中间节点,然后递归对前半部分和后半部分分别进行归并排序,最后对两个以排好序的链表进行Merge。/** * Definition for singly-linked list. * public class L原创 2016-09-08 13:45:53 · 199 阅读 · 0 评论