美文网首页
剑指Offer算法题解20-29

剑指Offer算法题解20-29

作者: 落地生涯 | 来源:发表于2019-05-27 15:17 被阅读0次

20 表示数值的字符串  马上解题

题目描述

true:"+100","5e2","-123","3.1416","-1E-16"

false:"12e","1a3.14","1.2.3","+-5","12e+4.3"

解题思路

使用正则表达式进行匹配。

[]  : 字符集合

()  : 分组

?  : 重复 0 ~ 1 次

+  : 重复 1 ~ n 次

*  : 重复 0 ~ n 次

.  : 任意字符

\\. : 转义后的 .

\\d : 数字


21 调整数组顺序使奇数位于偶数前面  马上解题

题目描述

需要保证奇数和奇数,偶数和偶数之间的相对位置不变。

解题思路

方法一:创建一个新数组,时间复杂度 O(N),空间复杂度 O(N)。

方法二:使用冒泡思想,每次都当前偶数上浮到当前最右边。时间复杂度 O(N2),空间复杂度 O(1),时间换空间。

代码

方法一:

方法二:


22 链表中倒数第 K 个结点  马上解题

解题思路

设链表的长度为 N。设置两个指针 P1 和 P2,先让 P1 移动 K 个节点,则还有 N - K 个节点可以移动。此时让 P1 和 P2 同时移动,可以知道当 P1 移动到链表结尾时,P2 移动到第 N - K 个节点处,该位置就是倒数第 K 个节点。

代码


23 链表中环的入口结点  马上解题

题目描述

一个链表中包含环,请找出该链表的环的入口结点。要求不能使用额外的空间。

解题思路

使用双指针,一个指针 fast 每次移动两个节点,一个指针 slow 每次移动一个节点。因为存在环,所以两个指针必定相遇在环中的某个节点上。假设相遇点在下图的 z1 位置,此时 fast 移动的节点数为 x+2y+z,slow 为 x+y,由于 fast 速度比 slow 快一倍,因此 x+2y+z=2(x+y),得到 x=z。

在相遇点,slow 要到环的入口点还需要移动 z 个节点,如果让 fast 重新从头开始移动,并且速度变为每次移动一个节点,那么它到环入口点还需要移动 x 个节点。在上面已经推导出 x=z,因此 fast 和 slow 将在环入口点相遇。

代码

24 反转链表  马上解题

代码

(1)递归

(2)头插法

25 合并两个排序的链表  马上解题

题目描述

代码

(1)递归

(

(2)迭代

26 树的子结构  马上解题

题目描述

代码


27 二叉树的镜像  马上解题

题目描述

代码


28 对称的二叉树  马上解题

题目描述

代码


29 顺时针打印矩阵  马上解题

题目描述

下图的矩阵顺时针打印结果为:1, 2, 3, 4, 8, 12, 16, 15, 14, 13, 9, 5, 6, 7, 11, 10

代码

相关文章

  • 剑指Offer算法题解20-29

    20 表示数值的字符串 马上解题 题目描述 true:"+100","5e2","-123","3.1416","...

  • 2019校招Android面试题解1.0(算法篇)

    在校招题解的算法篇中,还整理了部分《剑指offer》原题,这里均用Java实现。 校招面试题解 剑指offer题解...

  • 剑指offer算法题解

    1. JZ3 从尾到头打印链表 2. JZ15 反转链表 3. JZ16 合并两个排序的链表 4. JZ14 链表...

  • {转载} 计算机基础知识点汇总

    算法 剑指 Offer 题解 目录根据原书第二版进行编排。 Leetcode 题解 做了一个大致分类,并对每种分类...

  • 剑指offer题解

    前言 2. 实现 Singleton 3. 数组中重复的数字 4. 二维数组中的查找 5. 替换空格 6. 从尾到...

  • 算法-剑指offer

    《算法文章汇总》[https://www.jianshu.com/p/fc7c0e8cc5cb] 剑指 Offer...

  • 2018-08-11

      今天可谓是收获满满。上午在看剑指offer,自己在算法这方面非常薄弱,所以估计之后在找工作得把剑指offer上...

  • 剑指Offer算法题解10-19

    10、动态规划系列 10.1 斐波那契数列马上解题 题目描述 求斐波那契数列的第 n 项,n <= 39。 解题思...

  • 剑指Offer算法题解40-49

    40 最小的 K 个数马上解题 解题思路 大小为 K 的最小堆 复杂度:O(NlogK) + O(K) 特别适合处...

  • 剑指Offer算法题解30-39

    30 包含 min 函数的栈马上解题 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的 min...

网友评论

      本文标题:剑指Offer算法题解20-29

      本文链接:https://www.haomeiwen.com/subject/vcrhtctx.html