题目描述——从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值。 输入描述: 输入为链表的表头 输出描述: 输出为需要打印的“新链表”的表头 ##反转链表 首先我们想到的就是反转链表了,如果把链表反转了,然后再返回头,这样再次遍历的时候就相当于从尾到头打印了。 但是修改输入数据真的可行么? ...
分类:
其他好文 时间:
2020-05-17 01:17:55
阅读次数:
62
1. 利用栈:后进先出 将链表从头到尾压入栈中,再从栈中pop出来,对链表从头到尾赋值。 1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : 6 val(x), next(NULL) { 7 ...
分类:
其他好文 时间:
2020-05-05 19:42:08
阅读次数:
52
题目: 反转链表 II:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明:1 ≤ m ≤ n ≤ 链表长度。 示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5-> ...
分类:
编程语言 时间:
2020-05-02 22:56:54
阅读次数:
130
题目: 反转链表:反转一个单链表。 进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 思路: 思路一:使用栈的思想。 思路二:使用迭代。 思路三:使用递归。 程序1: # Definition for singly-linked list. # class ListNode: # de ...
分类:
编程语言 时间:
2020-05-01 17:01:32
阅读次数:
66
1025 反转链表 (25分) 给定一个常数 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 个元素不反转。 输入格 ...
分类:
其他好文 时间:
2020-05-01 14:52:01
阅读次数:
37
反转链表二。也是不会做,会写homebrew也枉然的题目,但是非常容易错。题意是给一个链表和两个数字m和n,请反转m和n之间的node,只能走一次。例子, Example: Input: 1->2->3->4->5->NULL, m = 2, n = 4 Output: 1->4->3->2->5- ...
分类:
其他好文 时间:
2020-05-01 10:28:20
阅读次数:
47
```java package 链表; /** * https://leetcode-cn.com/problems/reverse-linked-list/ * 206. 反转链表 * * 解题思路 :使用给定节点的后一个节点的值覆盖给定节点的值,然后删除下一个节点 */ public class... ...
分类:
其他好文 时间:
2020-04-30 19:39:32
阅读次数:
56
前言 从业快4年,最近愈发感觉到算法的重要性.作为一名后端开发,在实际工作中,算法的应用其实是十分多的,比如我们熟悉的LinkedList、jdk的底层排序,算法的重要性大家都有目共睹,也基本成了入职大厂不可或缺的基本能力。最近就听群里的伙伴说面试字节跳动的时候要求现场写出以k个为一组反转链表,如果 ...
分类:
其他好文 时间:
2020-04-29 15:12:23
阅读次数:
95
题目描述 输入一个链表,反转链表后,输出新链表的表头。 解法1 可以使用三个辅助指针pHead, last,next pHead记录当前节点,last记录上一个节点,next记录下一个节点 首先使用next保存当前节点的下一个节点,然后将当前节点的下一个节点指向last,实现反转 如下图所示 实现代 ...
分类:
其他好文 时间:
2020-04-26 20:31:46
阅读次数:
55
1.递归法 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回ListNode def ReverseList ...
分类:
其他好文 时间:
2020-04-20 15:39:28
阅读次数:
44