
剑指Offer每日6题
解析剑指Offer上的题目,多种方法,多种角度去看一个问题,用最精简的代码来实现。
FlushHip
凝视深渊
展开
-
剑指Offer66题之每日6题 - 总结、目录
剑指Offer每日6题系列终于在今天全部完成了,从2017年12月27日到2018年2月27日,历时两个月的写作,其中绝大部分的时间不是花在做题上,而是花在写作上,这个系列不适合大神,大牛,这个系列是我专门为那些初识算法,数据结构的同学和对基础算法,基本数据结构不熟练的同学而写的。里面所有的博文,我尽量避开生僻的一些概念,尽量用生活中的语言和例子来解释一些原理,因此在学术上可能不太严谨,但是,...原创 2018-02-27 19:12:47 · 5982 阅读 · 0 评论 -
剑指Offer66题之每日6题 - 第一天
原题链接:第一题:二维数组中的查找;第二题:替换空格;第三题:从尾到头打印链表;第四题:重建二叉树;第五题:用两个栈实现队列;第六题:旋转数组的最小数字;第一题:二维数组中的查找题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。原创 2017-12-27 17:40:16 · 5818 阅读 · 2 评论 -
剑指Offer66题之每日6题 - 第二天
原题链接:第一题:斐波那契数列;第二题:跳台阶;第三题:变态跳台阶;第四题:矩形覆盖;第五题:二进制中1的个数;第六题:数值的整数次方;第一题:斐波那契数列题目: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39。解析: 斐波拉契数列的定义: F0=0,F1=1F0...原创 2017-12-29 20:44:25 · 6686 阅读 · 4 评论 -
剑指Offer66题之每日6题 - 第三天
原题链接:第一题:调整数组顺序使奇数位于偶数前面;第二题:链表中倒数第k个结点;第三题:反转链表;第四题:合并两个排序的链表;第五题:树的子结构;第六题:二叉树的镜像;第一题:调整数组顺序使奇数位于偶数前面题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变原创 2017-12-30 22:21:54 · 2556 阅读 · 0 评论 -
剑指Offer66题之每日6题 - 第四天
原题链接:第一题:顺时针打印矩阵;第二题:包含min函数的栈;第三题:栈的压入、弹出序列;第四题:从上往下打印二叉树;第五题:二叉搜索树的后序遍历序列;第六题:二叉树中和为某一值的路径;第一题:顺时针打印矩阵题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。解析: 这题没什么好说的,具体看代码,考察代码的实现。class Solution {publi原创 2018-01-02 21:24:55 · 2028 阅读 · 0 评论 -
剑指Offer66题之每日6题 - 第五天
原题链接:第一题:复杂链表的复制;第二题:二叉搜索树与双向链表;第三题:字符串的排列;第四题:数组中出现次数超过一半的数字;第五题:最小的K个数;第六题:连续子数组的最大和;第一题:复杂链表的复制题目: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节原创 2018-01-03 23:22:35 · 18286 阅读 · 0 评论 -
剑指Offer66题之每日6题 - 第六天
原题链接:第一题:整数中1出现的次数;第二题:把数组排成最小的数;第三题:丑数;第四题:第一个只出现一次的字符位置;第五题:数组中的逆序对;第六题:两个链表的第一个公共结点;第一题:整数中1出现的次数题目: 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此...原创 2018-02-24 10:06:29 · 1856 阅读 · 0 评论 -
剑指Offer66题之每日6题 - 第七天
原题链接:第一题:数字在排序数组中出现的次数;第二题:二叉树的深度;第三题:平衡二叉树;第四题:数组中只出现一次的数字;第五题:和为S的连续正数序列;第六题:和为S的两个数字;第一题:数字在排序数组中出现的次数题目: 统计一个数字在排序数组中出现的次数。解析: 这个题最简单的做法就是,两次查找,一次从前面往后找,找到第一个数字,一次从后面...原创 2018-02-05 16:36:49 · 2175 阅读 · 0 评论 -
剑指Offer66题之每日6题 - 第八天
原题链接:第一题:左旋转字符串;第二题:翻转单词顺序列;第三题:扑克牌顺子;第四题:孩子们的游戏(圆圈中最后剩下的数);第五题:求1+2+3+…+n;第六题:不用加减乘除做加法;第一题:左旋转字符串题目: 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后...原创 2018-02-05 16:38:56 · 1688 阅读 · 0 评论 -
剑指Offer66题之每日6题 - 第九天
原题链接:第一题:把字符串转换成整数;第二题:数组中重复的数字;第三题:构建乘积数组;第四题:正则表达式匹配;第五题:表示数值的字符串;第六题:字符流中第一个不重复的字符;第一题:把字符串转换成整数题目: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0解析: 模拟题,先处理空...原创 2018-02-26 17:09:59 · 1545 阅读 · 1 评论 -
剑指Offer66题之每日6题 - 第十天
原题链接:第一题:链表中环的入口结点;第二题:删除链表中重复的结点;第三题:二叉树的下一个结点;第四题:对称的二叉树;第五题:按之字形顺序打印二叉树;第六题:把二叉树打印成多行;第一题:链表中环的入口结点题目: 一个链表中包含环,请找出该链表的环的入口结点。解析: 这其实就是一道小学的奥数题。 具体解答请看链表中环问题集合...原创 2018-02-27 18:09:53 · 1159 阅读 · 0 评论 -
剑指Offer66题之每日6题 - 最后一天
原题链接:第一题:序列化二叉树;第二题:二叉搜索树的第k个结点;第三题:数据流中的中位数;第四题:滑动窗口的最大值;第五题:矩阵中的路径;第六题:机器人的运动范围;第一题:序列化二叉树题目: 请实现两个函数,分别用来序列化和反序列化二叉树解析: 这个题其实很不清楚,序列化的规则是什么?题中并没有给出,而且,题中要你序列化和反序列化二叉树,...原创 2018-02-26 17:55:33 · 1340 阅读 · 0 评论