zoukankan      html  css  js  c++  java
  • LeetCode链表题小记

    本文将LeetCode上大部分链表类题,按照思路整理在一块。

    比较巧妙的题

    • 138 复制带随机指针的链表:三部曲
    • 141 环形链表
    • 142 环形链表 II
    • 160 相交链表

    二分、递归、合并

    • 21 合并两个有序链表
    • 23 合并K个排序链表:二分+递归,类似归并递归排序
    • 109 有序链表转换二叉搜索树:二分+递归
    • 148 排序链表:二分+递归

    用链表表示一个数(逆序或正序),两数相加

    • 2 两数相加
    • 445 两数相加 II :需要双栈

    链表翻转:定位待翻转区间前一个结点p1,得到区间第一个结点p2,持续拎出p2->next插到p1后面

    • 206 反转链表:全部翻转
    • 92 反转链表 II:指定区间翻转
    • 24 两两交换链表中的节点
    • 25 K 个一组翻转链表
    • 234 回文链表
    • 143 重排链表:L1/Ln/L2/Ln-1...

    删除结点:也需要定位前面一个结点

    • 203 移除链表元素:删除结点值等于给定值的结点
    • 83 删除排序链表中的重复元素:保留第一个重复元素
    • 82 删除排序链表中的重复元素 II:不保留第一个重复元素
    • 19 删除链表的倒数第N个节点:需要确保N为有效值,然后夹板
    • 237 删除链表中的节点:无返回值地删除指定结点,乾坤大挪移
    • 面试题 02.01 移除重复节点:删除未排序链表中的重复节点,保留最开始出现的节点,需哈希表

    直白题

    • 61 旋转链表:首尾相接再切断
    • 86 分隔链表:左右小推车
    • 147 对链表进行插入排序

    类似思想题

    • 202 快乐数。第一版思路:首先数不会一直膨胀下去,会保证在三位数以内;因此走了几百步以内必然会重复;判断终止条件就是遇到1或者重复数,可以数组/哈希表/集合来记录。优化思路:一系列数可以看做一个链表,重复数就变成了链表有环问题,用快慢指针。
  • 相关阅读:
    some tips
    ORA00847: MEMORY_TARGET/MEMORY_MAX_TARGET and LOCK_SGA cannot be set together
    Chapter 01Overview of Oracle 9i Database Perfomrmance Tuning
    Chapter 02Diagnostic and Tuning Tools
    变量与常用符号
    Chapter 18Tuning the Operating System
    标准输入输出
    Trace files
    DBADeveloped Tools
    Chapter 03Database Configuration and IO Issues
  • 原文地址:https://www.cnblogs.com/inchbyinch/p/13021086.html
Copyright © 2011-2022 走看看