题目:按k个结点一组来反转链表
思路:
运用反转链表的通法reverse,对链表进行循环,当计数长度k不时,指针继续前进;当计数长度到达k时,将该组首尾节点first和node作为参数传入翻转函数reverse进行翻转,然后重新拼接到原链表中。直至到达链表末尾。
代码如下:
/**
* Definition for singly-linked list.
* publi...
分类:
其他好文 时间:
2016-05-12 15:46:34
阅读次数:
172
解法一 递归
解法二 反转值
解法三 反转指针...
分类:
其他好文 时间:
2016-05-06 12:10:00
阅读次数:
102
有段时间没有练习了,链表回文串判断用到了栈。链式A+B将没有的项用0补充。链表有没有头节点,及结点和链表的区别,即pNode和pHead。 题目分析: 《方法1》:反转链表 可以将原始链表反转,判断反转以后的链表与原始链表是否完全一致,如果一致便返回true,如果不一致则返回false。反转链表需要 ...
分类:
其他好文 时间:
2016-05-05 19:16:07
阅读次数:
175
【题目】输入一个链表,反转链表后,输出链表的所有元素。 【思路】将当前指针指向前者即为反转,反转是同时反转指针和赋值操作。即将指针指向前者并给前者赋值。反转后的头结点就是原链表的尾 结点。代码如下: ...
分类:
其他好文 时间:
2016-04-20 13:11:26
阅读次数:
106
描述:输入一个链表,反转链表后,输出链表的所有元素。 解决: ...
分类:
其他好文 时间:
2016-04-02 10:44:25
阅读次数:
143
给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。 输入格式: 每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址、...
分类:
其他好文 时间:
2016-03-21 21:29:40
阅读次数:
180
题目:输入一个链表,反转链表后,输出链表的所有元素。 思路:这个题目是一个很经典的链表操作题目,涉及很多链表指针操作,考验代码功底。因为是单向链表,如果按照最普通的思路来解和求链表中的倒数第k个节点一样,会有许多不必要的遍历。那么就需要在指针操作上想办法。下面是一个比较好的解决思路: 首先需要设置4
分类:
其他好文 时间:
2016-03-19 16:06:16
阅读次数:
226
原理:使用三个指针,p,q指向交换的元素,r指向后续元素代码如下:class Node{ int data; Node next; Node(int data){ this.data=data; }} Node reverse(Node head) { if(head==null || hea...
分类:
其他好文 时间:
2015-11-30 19:57:59
阅读次数:
144
Reverse a singly linked list.click to show more hints.Hint:A linked list can be reversed either iteratively or recursively. Could you implement both?S...
分类:
其他好文 时间:
2015-11-13 20:50:29
阅读次数:
233
题目描述输入一个链表,反转链表后,输出链表的所有元素。 1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : 6 val(x), next(NU...
分类:
其他好文 时间:
2015-11-04 21:20:43
阅读次数:
143