链表排序0807
2.0021. 合并两个有序链表 2.1 题目大意 描述:给定两个升序链表的头节点 list1 和 list2。 要求:将其合并为一个升序链表。 说明: 两个链表的节点数目范围是 。 list1 和 list2 均按 非递减顺序 排列 示例: 123456 输入:list1 = [1,2,4], list2 = [1,3,4] 输出:[1,1,2,3,4,4] 输入:list1 = [], list2 = [] 输出:[] 题解: 123456789101112131415161718192021222324252627282930 # Definition for singly-linked list. class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next class Solution: def mergeTwoLists(self, list1: Optional[ListNode], lis...
链表排序0806
1. 链表排序简介 在数组排序中,常见的排序算法有:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序等。 **而对于链表排序而言,因为链表不支持随机访问,访问链表后面的节点只能依靠 **next 指针从头部顺序遍历,所以相对于数组排序问题来说,链表排序问题会更加复杂一点。 下面先来总结一下适合链表排序与不适合链表排序的算法: **适合链表的排序算法:**冒泡排序、选择排序、插入排序、归并排序、快速排序、计数排序、桶排序、基数排序。 **不适合链表的排序算法:**希尔排序。 **可以用于链表排序但不建议使用的排序算法:**堆排序。 希尔排序为什么不适合链表排序? 希尔排序:希尔排序中经常涉及到对序列中第 i + gap 的元素进行操作,其中 gap 是希尔排序中当前的步长。而链表不支持随机访问的特性,导致这种操作不适合链表,因而希尔排序算法不适合进行链表排序。 为什么不建议使用堆排序? 堆排序:堆排序所使用的最大堆 / 最小堆结构本质上是一棵完全二叉树。而完全二叉树适合采用顺序存储结构(数组)。因为数组存储的完全二叉树可以...
链表0805
0203. 移除链表元素 **给你一个链表的头节点 **head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 12 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 12 输入:head = [], val = 1 输出:[] 示例 3: 12 输入:head = [7,7,7,7], val = 7 输出:[] ** **提示: **列表中的节点数目在范围 **[0, 104] 内 1 <= Node.val <= 50 0 <= val <= 50 题解: 1234567891011121314151617 # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next c...
Blog搭建指南
这篇文章将手把手记录我如何搭建自己的技术博客,涵盖 Hexo 博客初始化、主题美化、内容管理到自动部署的完整流程,希望对也想打造自己博客的你有所帮助。 一、Hexo 初始化与基础配置 Hexo 是一款基于 Node.js 的静态博客框架,轻量、快速,非常适合开发者记录技术文章。 初始化项目结构 确保本地安装了 Node.js 和 Git,然后全局安装 Hexo: 1234 npm install -g hexo-cli hexo init my-blog cd my-blog npm install 项目初始化完成后,会看到几个关键目录和文件,比如: source/:文章目录 themes/:主题目录 _config.yml:博客全局配置文件 基本信息配置 **打开根目录下的 **_config.yml,修改以下内容来设置站点信息: 12345 title: Johnny-Zhao's TechBlog subtitle: KEEP FIGHTING author: Johnny-Zhao language: zh-CN url: https://zjncs...
