定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 限制: 0 <= 节点个数 <= 5000 没有什么聪明的办法,关键在于保证链表不要断开,同时处理链表只有一个头或者直接为空 ...
分类:
其他好文 时间:
2020-07-04 01:02:19
阅读次数:
60
题目: 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reve ...
分类:
编程语言 时间:
2020-07-03 21:41:43
阅读次数:
160
方法1:递归 1 /* 2 public class ListNode { 3 int val; 4 ListNode next = null; 5 6 ListNode(int val) { 7 this.val = val; 8 } 9 }*/ 10 public class Solution ...
分类:
其他好文 时间:
2020-07-01 21:58:59
阅读次数:
44
###反转链表 class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } public class LeetCodeReverseListNode { public static void main(String[ ...
分类:
编程语言 时间:
2020-06-29 00:41:42
阅读次数:
101
#题目:206反转链表 我的解答: public ListNode reverseList(ListNode head) { ListNode tail=null; ListNode mid=null; while(head!=null){ mid=head; mid.next=tail; tail ...
分类:
其他好文 时间:
2020-06-25 23:45:27
阅读次数:
54
解法 思路: 大致过程可以分解为 1、找到待翻转的k个节点(注意:若剩余数量小于 k 的话,则不需要反转,因此直接返回待翻转部分的头结点即可)。 2、对其进行翻转。并返回翻转后的头结点(注意:翻转为左闭又开区间,所以本轮操作的尾结点其实就是下一轮操作的头结点)。 3、对下一轮 k 个节点也进行翻转操 ...
分类:
其他好文 时间:
2020-06-23 22:59:04
阅读次数:
103
###题目描述 输入一个链表,反转链表后,输出新链表的表头。 ###代码示例 public class Offer16 { public static void main(String[] args) { //构建链表 ListNode head = new ListNode(1); head.ne ...
分类:
其他好文 时间:
2020-06-20 00:38:43
阅读次数:
56
题目描述 leetcode - 206:https://leetcode-cn.com/problems/reverse-linked-list/ 解题关键 链表 递归 代码 /** * Definition for singly-linked list. * struct ListNode { * ...
分类:
其他好文 时间:
2020-06-16 20:33:51
阅读次数:
57
迭代方法实现: struct ListNode* reverseList(struct ListNode* head){ struct ListNode *temp , *new_head=NULL; while(head) { temp=head; head = head->next; temp- ...
分类:
编程语言 时间:
2020-06-15 22:48:42
阅读次数:
57
链表反转,从1->2->3->4->5到5->4->3->2->1 ...
分类:
其他好文 时间:
2020-06-14 18:27:00
阅读次数:
47