#include
using namespace std;struct Node
{
int val;
struct Node *next;
Node(int x = int()):val(x),next(NULL){}
};struct List
{
List()
{
head=NULL;
}
void...
分类:
编程语言 时间:
2015-05-09 13:24:55
阅读次数:
151
Reverse Linked List
Reverse a singly linked list.
解题思路:
链表翻转。没有什么很大的难度,画个图分析一下即可。单链表的技巧就是申请一个伪头结点,然后在最后的时候删除即可,这样能够保证中间代码不需要考虑不同的情况。
/**
* Definition for singly-linked list.
* struct ListNode ...
分类:
其他好文 时间:
2015-05-05 16:38:48
阅读次数:
107
problem:
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:
Give...
分类:
其他好文 时间:
2015-04-15 17:13:29
阅读次数:
132
problem:
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.
Hide Tags
L...
分类:
其他好文 时间:
2015-04-02 10:31:03
阅读次数:
117
明天多益网络一面,晚上写了个简单的链表翻转程序找找感觉,两种思路实现。一种通过头插法实现翻转,另一种则是通过更改节点指针指向来实现。虽然简单,但动动手,活跃下思维!希望明天面试顺利!#include #include typedef struct Node{ int data; struct Nod...
分类:
编程语言 时间:
2015-03-27 22:02:59
阅读次数:
375
单链表翻转比如有如下链表:
需要按照C B A 输出,我们可以有好几种方法:
package org.andy.test;
import java.util.ArrayList;
import java.util.List;
/**
* @author andy
* @version:2015-2-4 上午9:41:12
*
*
*/
public clas...
分类:
编程语言 时间:
2015-03-19 18:27:29
阅读次数:
190
/*问题描述,如何在时间复杂度为O(n)的前提下,实现单链表翻转。并尽量减少内存消耗。即1-2-4-5-6转化为6-5-4-2-1。*/ 1 # include 4 struct Slist{ 5 6 int size; 7 struct sl* head; 8 9 10 };...
分类:
其他好文 时间:
2014-10-27 17:25:26
阅读次数:
202
链表的倒序输出,我们可能想到的方法就是把链表翻转后然后再遍历一遍,这样的话时间复杂度是O(n),但是缺点是代码稍微复杂。或者是开辟一个数组,顺序遍历一个链表把元素复制到数组里面,最后再把数组倒序输出。其实这道题目时间复杂度都不可能低于O(n),但是考虑用栈的话代码就可能非常简单,代码如下所示:
#include
using namespace std;
struct Node
{
int ...
分类:
其他好文 时间:
2014-10-27 01:47:56
阅读次数:
179
// reverselink.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"struct Node{ int num; struct Node*next;};typedef struct Node Node;Node * createLink(){ ...
分类:
其他好文 时间:
2014-09-17 11:55:42
阅读次数:
186