给定一个单向链表的头结点,要求将链表反转,并返回新的头结点。 一、迭代实现 思路:遍历链表,依次调整每个节点的指针域。 定义 结点p指向当前节点 结点q指向当前节点的下一个结点(p->next非空时) 结点r指向当前节点的前一个结点 节点newhead指向新头结点() 初始 p=head,q=NUL ...
分类:
编程语言 时间:
2020-09-17 16:07:27
阅读次数:
24
#include <stdio.h>#include <malloc.h>typedef struct Node{ int data; struct Node *next;}Node; void reverseNode(Node *head){ Node *cur = head->next; Nod ...
分类:
编程语言 时间:
2020-09-09 19:08:28
阅读次数:
43
##题目: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 **示例 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL ###方式一: 迭代法(头插法): 画图分析:设置一个前节点为null,再用临时变量保存当前节点的下一个节点 ...
分类:
其他好文 时间:
2020-07-29 14:40:11
阅读次数:
54
206. 反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 递归 # Definition for singly-linked list. # class ListNode: # def __init__(self, ...
分类:
其他好文 时间:
2020-07-26 23:15:52
阅读次数:
76
此博客链接: 题目链接: 反转链表 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 题解: 思路: 1.创建一个头节点,使用new ListNode()创建一个新节点数据域 ...
分类:
其他好文 时间:
2020-07-22 20:14:51
阅读次数:
57
题目描述: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 代码: 迭代法 /** * Definition for singly-linked list. * struc ...
分类:
其他好文 时间:
2020-07-22 11:12:33
阅读次数:
61
# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = Nonea = ListNode(1)b = ListNode(2)a.next = b# 有关链表 ...
分类:
其他好文 时间:
2020-07-21 00:58:45
阅读次数:
67
反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 解题思路:双指针迭代。(如图) 实现代码: //双指针迭代法 public ListNode reverseList(ListNode head) { ListNode prev ...
分类:
其他好文 时间:
2020-07-19 00:40:33
阅读次数:
70
原题链接 题解 利用双指针算法,直接让后面一个指向前面一个 代码如下 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x ...
分类:
其他好文 时间:
2020-07-18 22:12:35
阅读次数:
56
反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse- ...
分类:
其他好文 时间:
2020-07-04 19:05:28
阅读次数:
59