题目描述输入一个链表,反转链表后,输出链表的所有元素。分析:此题学过数据结构的应该会首先想到链表建立时所采用的头插法,即每一个新插入进来的点均插在链表头。代码如下: 1 /* 2 public class ListNode { 3 int val; 4 ListNode next =...
分类:
其他好文 时间:
2015-08-28 00:45:53
阅读次数:
176
【206-Reverse Linked List(反转一个单链表)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】代码下载【https://github.com/Wang-Jun-Chao】原题 Reverse a singly linked list.
题目大意 反转单链表。
解题思路 使用头插法。
代码实现结点类public class ListNode {...
分类:
编程语言 时间:
2015-08-27 07:12:30
阅读次数:
281
1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : 6 val(x), next(NULL) { 7 } 8 };*/ 9 clas...
分类:
其他好文 时间:
2015-08-26 23:51:28
阅读次数:
226
判断单链表是否为回文;思想:利用来两个指针找到链表中点,将后半个链表反转。然后判断。有个问题,下面的代码没有恢复原来的单链表。 1 class Solution { 2 public: 3 bool isPalindrome(ListNode* head) { 4 ListN...
分类:
其他好文 时间:
2015-08-25 23:06:44
阅读次数:
180
思路:
1.如何判断一个链表是否是回文的?很简单将链表中的元素遍历出来并放进ArrayList中,然后可以像数组一样来判断该元素是否为回文的,时间复杂度O(n),空间复杂度O(n),可如何用O(n)的时间复杂度和O(1)的空间复杂度来解决呢?
2.是不是可以考虑 将链表反转?可反转后还是链表啊,要是将链表分为前后两个部分呢,分为两个部分还是无法判断该链表是否为回文链表啊,那要是再将其中一个链表反转一下呢,It's done!好多时候,多想一步容易,再多想一步就困难了。...
分类:
其他好文 时间:
2015-08-13 10:03:53
阅读次数:
117
思路1:O(n^2).“狸猫换太子”,不进行改动链表结构,只首尾交换len/2次。但是在本函数中用到了定位函数,定位函数实际上是遍历了一遍整个链表,所以综合效率很低,达到O(n^2). //单链表反转(O(n^2))void reverseList(Node* Head){ int count .....
分类:
其他好文 时间:
2015-08-12 01:08:40
阅读次数:
109
Given a singly linked list, determine if it is a palindrome.
Follow up:
Could you do it in O(n) time and O(1) space?
给定一个单链表,判断它的元素是否是回文。要求在O(n)的时间复杂度和O(1)的空间复杂度内求解。如果没有时间复杂度的限制,可以直接将链表反转再比较就...
分类:
其他好文 时间:
2015-07-27 16:20:55
阅读次数:
88
Reverse a linked list from position m to n. Do it in-place and in one-pass.
For example:
Given 1->2->3->4->5->NULL, m = 2 and n =
4,
return 1->4->3->2->5->NULL.
Note:
Given m, n satisfy t...
分类:
其他好文 时间:
2015-07-27 11:11:00
阅读次数:
113
1.使用三个节点指针遍历链表实现反转 1 template 2 void ReverseList(SingleListNode *head) 3 { 4 //1.三个指针迭代 5 SingleListNode *p,*q,*r; 6 if (head->next==NULL)...
分类:
其他好文 时间:
2015-07-25 18:19:31
阅读次数:
126
ReverseLinked List
A linked list can be reversed eitheriteratively or recursively. Could you implement both?
迭代版本:
1. /**
2. * Definition for singly-linked list.
3. * struct ListNode {
4. ...
分类:
编程语言 时间:
2015-07-21 12:54:18
阅读次数:
112