链表反向输出

struct ListNode {
	int m_nKey;
	ListNode *m_pNext;
};

void printListReversingly(ListNode *pHead) {
	stack<ListNode*> nodes;
	ListNode *pNode = pHead;
	while (pNode != NULL) {
		nodes.push(pNode);
		pNode = pNode->m_pNext;
	}

	while (!nodes.empty()) {
		pNode = nodes.top();
		printf("%d\t", pNode->m_nKey);
		nodes.pop();
	}
}

  

时间: 2024-10-03 11:09:38

链表反向输出的相关文章

从头到尾反向输出带头结点的单链表的每个节点的值

#include <stdio.h> #include <stdlib.h> #include <malloc.h> typedef struct LinkList { int data; struct LinkList *next; }NODE; NODE* Create_List() { int n; NODE *p,*r,*L=(NODE*)malloc(sizeof(NODE*)); L->data=0; L->next=NULL; r=L; sca

【C++】输入并反向输出字符串

<pre name="code" class="cpp">// 反向输出字符串 #include<iostream> #include<string.h> using namespace std; void f(char p[]); int main() { char s[50]; cout<<"请输入一个字符串: "; cin>>s; f(s); cout<<"反

反向输出用户录入的字符串

class Program { static void Main(string[] args) { Console.WriteLine("请录入要反向输出的字符或其它"); //将用户输入的字符串,放入字符数组中 char[] str = Console.ReadLine().ToCharArray(); //将素组中的元素反转 Array.Reverse(str); //遍历数组 foreach (var c in str) { Console.Write(c); } Console

实现数组的反向输出

/*******************对数组元素的值进行反向输出实现******************************/ #include<stdio.h> #define MAX_SIZE 10 void Chang_elem_arr(int *x,int n);     //将数组元素进行反向 void Show_elem_arr(int *x);             //将反向的数组打印到屏幕上 int main() { int arr[MAX_SIZE]={1,4,5,

链表反向

顺序表是一种重要的数据结构,链表在很多地方有重要的运用. 下面的简单程序用来将链表反向: 1 listpointer invert(listpointer lead){ 2 listpointer middle,trail; 3 middle=NULL; 4 while(lead){ 5 trail=middle; 6 middle=lead; 7 lead=lead->link; 8 middle->link=trail; 9 } 10 return middle; 11 } 具体过程如图示

1-3-13:反向输出一个三位数

描述 将一个三位数反向输出. 输入一个三位数n.输出反向输出n.样例输入 100 样例输出 001 1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 char a[3]; 6 int i; 7 scanf("%s",&a); 8 for(i=2;i>=0;i--) 9 printf("%d",a[i]-'0'); 10 printf("\n")

【编程题目】输入一个单向链表,输出该链表中倒数第 k 个结点

第 13 题(链表):题目:输入一个单向链表,输出该链表中倒数第 k 个结点.链表的倒数第 0 个结点为链表的尾指针.链表结点定义如下: struct ListNode {int m_nKey;ListNode* m_pNext;}; 我的思路:先翻转链表,再从翻转后的链表的头向尾数k-1个,返回,再次翻转链表. 代码如下:注意这个思路非常差.差的原因是:如果只是用最原始的方法,先遍历一遍计数,再遍历一遍找倒数第k个,需要遍历两遍.但我的思路,翻转两次链表就要遍历两遍.还要在走k-1步找倒数第k

九九乘方表/数组排序/反向输出字符串

大家好: 今天在逛百度的时候有位芝麻问了个问题,感觉他是一个初学者!把他的代码添枝加叶了一下成了下面几个程序!大家共勉一下吧! 共 五 个方法: <span style="font-size: 18px;">//格式4 * 3 * 2 * 1 = 24</span> <span style="font-size: 18px;">//</span><span style="font-size: 18px;

4.19递归反向输出字符串

Q:编写一个递归函数,实现将输入的任意长度字符串反向输出的功能. #include <iostream> #include<cstdio> using namespace std; print() { char a; cin>>a; if(a!='#') print();//输入字符不是结束标志#,则递归调用print() if(a!='#') cout<<a;//输入字符时不输出# } int main() { printf("input a s