由于最近学的是线性结构,且因数组需开辟的空间太大。因此这里用的是纯链表实现的这个链表翻转。 Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements
分类:
其他好文 时间:
2016-03-12 18:41:03
阅读次数:
219
题目:翻转链表翻转一个链表样例给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null挑战在原地一次翻转完成解题:递归还是可以解的java程序:/** * Definition for ListNode. * public class ListNode { * i...
分类:
其他好文 时间:
2015-10-18 16:53:02
阅读次数:
357
又是一道链表的题,关于链表的题好像都是关于指针的,题目都不难吧,主要是需要细心,因为不难,所以代码没有自己写,这里还可以考虑之前做过的链表翻转m至n那道题,然后调用函数就解决了······················/** * Definition for singly-linked list....
分类:
其他好文 时间:
2015-09-01 16:33:19
阅读次数:
117
题的大概意思就是,输入两个列表,这两个列表是两个逆序的数,比如说1->2->4就代表421.然后将两个链表翻转后相加,存入列表中,同样按照逆序存入列表,将其返回,刚开始题意理解错了,WA了两次,题目给出的一组数据比较具有迷惑性,就是243+564与432+465的结果都是807,所以刚开始我以为输入的两个链表的数正序的,只需将结果翻转就可以了.其实这道题和大整数相加差不太多,只要考虑一下进位就没什...
分类:
其他好文 时间:
2015-08-30 23:06:01
阅读次数:
246
Problem I翻转链表程序(简洁版)非递归ListNode reverseList(ListNode head) { ListNode pre = null; ListNode cur = head; while (cur != null ) { ListNode next = cur.ne.....
分类:
其他好文 时间:
2015-08-09 22:03:12
阅读次数:
91
/*
* 带头节点
*/
ListNode * reverse(ListNode *head) {
if (head == NULL || head->next == NULL)
return head;
ListNode nhead(-1);//头节点
nhead.next = head;
ListNode *prev = head;
ListNode *n...
分类:
其他好文 时间:
2015-08-02 23:29:04
阅读次数:
225
程序public class ListReverse { public ListNode reverseList(ListNode head) { if (head == null) { return head; } ListNode pre = head; ListNode cur =...
分类:
其他好文 时间:
2015-07-08 10:53:52
阅读次数:
105
/* * three argvs: headNext(the head's next), tmp(move forward), node(the removed ListNode). */ public ListNode reverseList(ListNode ...
分类:
其他好文 时间:
2015-07-05 18:30:27
阅读次数:
158
/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* reverseList(struct ListNode* head) ...
分类:
其他好文 时间:
2015-05-14 23:43:20
阅读次数:
147
题目:
给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6
基本思想:
链表中长度为k的一段从链表中摘除,翻转之后在将其衔接回链表。
#include
using namespace std;
typede...
分类:
其他好文 时间:
2015-05-12 15:49:23
阅读次数:
148