输入一个连表的头结点,从尾到头反过来打印出每个结点的值。C#语言实现:publicstaticvoidPrintRev(LinkedList<int>lList)
{
Stack<int>stack=newStack<int>();
foreach(intiteminlList)
{
stack.Push(item);
}
while(stack.Count>0)
{
Console.WriteLine..
分类:
其他好文 时间:
2017-09-17 18:47:03
阅读次数:
85
对于这个问题还有一个很好的方法: 1、将两个链表逆序,这样就可以依次得到从低到高位的数字 2、同步遍历两个逆序后链表,相加生成新链表,同时关注进位 3、当两个链表都遍历完成后,关注进位。 4、 将两个逆序的链表再逆序一遍,调整回去 返回结果链表 ...
分类:
编程语言 时间:
2017-09-10 17:45:20
阅读次数:
209
描述 给定一个单链表L: L0→L1→…→Ln-1→Ln, 重新排列后为:L0→Ln→L1→Ln-1→L2→Ln-2→… 必须在不改变节点值的情况下进行原地操作。 样例 思路 先将链表整体一分为二,然后将后半段链表逆序,再依次插入前半段节点中。 ...
分类:
其他好文 时间:
2017-08-12 01:06:34
阅读次数:
180
线性结构 线性结构的4大特点: 1、有一个结点只有前驱 2、有一个结点只有后继 3、其他结点既有一个前驱也有一个后继 4、在逻辑上相邻在物理上也相邻数据的逻辑关系叫做线性结构 线性结构的3大类型: 1、线性表——线性表是n个数据元素的有限序列 存储结构: 顺序存储对应一组操作:顺序表 链式存储对应一 ...
分类:
其他好文 时间:
2017-05-20 22:42:22
阅读次数:
255
private void ListResverse(ListNode head) { ListNode cur,next; if(head == null||head.next == null) return; cur = head.next; while(cur.next!=null) { nex... ...
分类:
其他好文 时间:
2017-05-08 21:53:45
阅读次数:
181
一、全部逆序 定义两个变量pre, next,与节点head一起,遍历整个链表。 二、 部分逆序 首先找到需要逆序的节点区域的前一个节点和后一个节点。记为 pre,pos。 定义3个变量cur, next1, next2. 遍历链表。 ...
分类:
编程语言 时间:
2017-03-12 23:39:13
阅读次数:
176
单链表打印的时候 一般 if (p== NULL) return; printf("%d ",p->data ); reverse_show(p->next); 结果: 123456 就可以依次打印了 但是如果把打印语句放在后面 就会逆序打印 if (p== NULL)return;reverse_ ...
分类:
其他好文 时间:
2016-11-14 02:00:23
阅读次数:
189
学习新的知识,只是单纯的看书,当时你跟随着作者的思路可能很容易就懂了,脱离书本后,发现似懂非懂, 到了实际的应用时,更加会感觉似是而非。所以,适量的练习,是非常有利于理解新知识的。 1、将一个带结点的单向链表逆序。 根据是否改变头结点分为2种方法。 变换头结点 思路: 1.声明三指针变量p,q,r, ...
分类:
其他好文 时间:
2016-09-23 13:11:17
阅读次数:
135
剑指Offer01 杨氏数组寻值 剑指Offer02 替换空格 剑指Offer03 逆序输出链表&链表逆序 ...
分类:
其他好文 时间:
2016-08-24 17:03:15
阅读次数:
124