这题有两种思考方式,一种是添加辅助空间,先进后出,当然是栈了,做法就是遍历链表,将值压入栈中,然后再一次弹出。还有一种方法是链表反序,链表反序也有两种方法。一种是将链表在原有的基础上更改指针,进行反序。光看代码可能不太还理解,我们可以看一下执行过程。
假设p1->p2->p3->p4->p5->p5->.......那么执行一次为p1p3->p4->p5.......然后p1=p2;p2=p3;...
分类:
其他好文 时间:
2014-09-04 00:15:47
阅读次数:
216
使用数据结构stack或者递归
1 使用stack
#include
#include
using namespace std;
typedef struct listNode{
int key;
struct listNode *pNext;
} * pNode,Node;
void createNode(pNode &pHead){
bool isFirst=true;...
分类:
其他好文 时间:
2014-07-30 17:30:34
阅读次数:
189
题目描述:
输入一个链表,从尾到头打印链表每个节点的值。
输入:
每个输入文件仅包含一组测试样例。
每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。
输出:
对应每个测试案例,以从尾到头的顺序输出链表每个节点的值,每个值占一行。...
分类:
其他好文 时间:
2014-07-19 08:11:53
阅读次数:
221
题目描述:输入一个链表,从尾到头打印链表每个节点的值。输入:每个输入文件仅包含一组测试样例。每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。输出:对应每个测试案例,以从尾到头的顺序输出链表每个...
分类:
其他好文 时间:
2014-07-06 14:19:17
阅读次数:
136
可以练习下链表的逆置。
def PrintListReversingly(head):
if head == None:
return
if head:
PrintListReversingly(head.next)
print head.val
def reverse(head):
if head == None or head.next == None:
return...
分类:
其他好文 时间:
2014-07-06 09:29:57
阅读次数:
214
链表节点定义如下:1 typedef struct ListNode2 {3 int value;4 ListNode *next;5 }TListNode;众所周知,链表打印时从头到尾很简单,所以我们首先想到的可能是先把链表逆序,然后从头到尾再打印出来即可,但是逆序会破坏链表的结构...
分类:
其他好文 时间:
2014-07-01 11:54:59
阅读次数:
168
题目描述:
输入一个链表的头结点,从尾到头反过来打印出每个结点的值。链表结点定义如下:
struct ListNode{
int
m_nKey;
ListNode *m_pNext;
};
分析描述:
对于链表,如果是从头到尾的打印出链表是比较容易,但如果是从尾到头返过来打印每个结点的值就比较复杂。反序输出就是第一个遍历到的结点最后一个输出,而最后一个遍历的结点第一个输出。...
分类:
其他好文 时间:
2014-07-01 10:59:13
阅读次数:
163
题目:很简单,就是题目,将链表从尾到头打印出来。
可能我们首先想到的是将链表进行遍历,将之前的访问的数据进行保存,最后进行反向输出,可是保存数据的空间是个问题;或者是我们将整个链表进行反向操作,将整个链表进行逆置,可是我们只是进行打印操作而已,改变链表不合适吧...
其实这时候应该想到了,用栈:既然是逆置,和栈的功能不就不谋而合吗,后进先出,进行反向打印。...
分类:
其他好文 时间:
2014-05-22 06:41:25
阅读次数:
255
题目描述:输入一个链表,从尾到头打印链表每个节点的值。输入:每个输入文件仅包含一组测试样例。每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。输出:对应每个测试案例,以从尾到头的顺序输出链表每个...
分类:
其他好文 时间:
2014-05-19 18:50:53
阅读次数:
306
1 import java.util.Stack; 2 public class T005 { 3
public static void main(String[] args){ 4 Node n1 = new Node(1); 5 Node n2 =
ne...
分类:
编程语言 时间:
2014-05-08 05:19:42
阅读次数:
402