ICode9

精准搜索请尝试: 精确搜索
  • 链表插入排序2022-02-18 16:00:28

    func insertionSortList(head *ListNode) *ListNode { if head == nil { return nil } dummyHead := &ListNode{Next: head} lastSorted, curr := head, head.Next for curr != nil { if lastSorted.Val <= curr.Val { lastSorted = lastSorted.Next } else { prev :=

  • Leetcode19. 删除链表的倒数第 N 个结点(中等)双指针2022-02-02 23:31:07

    struct ListNode* removeNthFromEnd(struct ListNode* head, int n){ struct ListNode* dummyHead = (struct ListNode*)malloc(sizeof(struct ListNode)); dummyHead->next = head; struct ListNode*slow=dummyHead,*fast=dummyHead; for

  • 删除链表的倒数第N个结点(双指针法)2022-01-12 14:02:13

    题目链接:19. 删除链表的倒数第 N 个结点 思路:本题为双指针的经典应用,如果要删除倒数第n个结点,则先让fast移动n步,然后同时移动fast和slow,直至fast指向链表的最后一个结点,此时slow->next指向的结点即为要删除的结点。 /** * Definition for singly-linked list. * struct Lis

  • LeetCode147.对链表进行插入排序(Python)2022-01-06 16:33:49

    题目思路: 可以理解为利用两个指针,一个对整个链表进行遍历,另一个在已经遍历过的线段寻找插入点。(建议画图便于理解) 利用 class Solution: def insertionSortList(self, head: ListNode) -> ListNode: # 首先判断链表是否为空 if not head: retur

  • 0019-leetcode算法实现之删除链表倒数第n个节点-remove-nth-node-from-end-of-list-python&golang实现2021-11-04 08:00:35

    给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head = [1,2], n = 1 输出:[1] 提示: 链表中结点的数目为 sz 1 <= sz <=

  • 删除排序链表中的重复元素 II2021-09-28 11:34:15

    力扣https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/ 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。 返回同样按升序排列的结果链表。   var deleteDupl

  • 实现双向链表(带傀儡节点)2021-09-23 21:35:16

    引言 在之前的博文中,我简单的向大家分享了一些链表相关的知识及一些面试题,如果感兴趣的老铁可以去瞧瞧,今天做题遇到要实现带傀儡节点的双向链表,做了下,之前的单向链表中我们也遇到要设置傀儡节点(哨兵节点的题),今天我们就来看一下实现双向链表(带傀儡节点)。 基本思路 对于链表

  • 力扣-24题(Java)-链表节点交换2021-06-08 22:01:52

    题目链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/ 题目如下: 思路: /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } *

  • C# 实现 Leetcode203. 移除链表元素2021-05-04 12:00:50

    创建一个虚拟头结点  从虚拟头结点去遍历   public class Solution { public ListNode RemoveElements(ListNode head, int val) { ListNode dummyHead = new ListNode(-1); dummyHead.next = head; ListNode prev = dummyHead; wh

  • 4.链表和递归2021-04-09 18:34:21

    《算法与数据结构体系课》-liuyubobobo 课程笔记 链表和递归 上一章,我们从底层实现了一个单链表的数据结构。并且根据这个链表,实现了栈和队列两种数据结构。 但是提到链表,我们其实还有一个非常重要的话题:递归。 链表天然地拥有递归的性质,不过链表是线性的,太过简单,我们使用循环的方

  • 2021-03-08 | 445. 两数相加 II2021-03-23 23:01:10

    1. 题目描述 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节

  • 25. K 个一组翻转链表2021-03-21 12:33:50

    题目概述 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 例: 输入:head = [1,2,3,4,5], k = 2 输出:[2,1,4,3,5] 输入:head = [1,2,3,4,5], k = 3

  • 24. 两两交换链表中的节点2020-12-07 16:00:07

    24. 两两交换链表中的节点 24. 两两交换链表中的节点方法一:递归方法二:迭代 24. 两两交换链表中的节点 方法一:递归 class Solution { public ListNode swapPairs(ListNode head) { if(head == null || head.next == null) { return head;

  • LeetCode - 删除链表的倒数第N个节点2019-09-23 17:02:21

    给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 方法一,使用数组辅助 class ListNode:

  • Remove Nth Node From End of List2019-06-30 13:29:39

    题目描述: Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the linked list becomes 1->2->3->5

  • 206. 反转链表2019-03-14 21:56:39

    反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? class Solution { public ListNode reverseList(ListNode head) { ListNode dummyHead = new ListNode(-1);

  • LeetCode 第92题 反转链表 II2019-02-02 19:00:24

    反转链表 II反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL 1 class Solution97 { 2 3 public ListNode reverseBetween(ListNode head, int m, int n) { 4

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有