剑指Offer66题的总结、目录
剑指Offer每日6题系列终于在今天全部完成了,从2017年12月27日到2018年2月27日,历时两个月的写作,其中绝大部分的时间不是花在做题上,而是花在写作上,这个系列不适合大神,大牛,这个系列是我专门为那些初识算法,数据结构的同学和对基础算法,基本数据结构不熟练的同学而写的。
里面所有的博文,我尽量避开生僻的一些概念,尽量用生活中的语言和例子来解释一些原理,因此在学术上可能不太严谨,但是,管他呢,你们能理解就好;
绝大部分的题目我都用了两种以上的方法,有的甚至5到6个方法去解决,尝试从不同的角度去解决一个问题,这个能力是我们大家都要去学习的,当然了,我也不是神,并不能想到所有的这些方法,也很感谢牛客网讨论区中的一些同学,有些题目他们提供了很精妙的思路,更感谢牛客网能为这些题目提供后台数据,使得我们的代码可以验证是否正确;
当然了,我的这些博文中的方法肯定不是完全全面的,肯定还有一些好的方法我还没有了解到,如果大家有更好的点子,可以在对应博客中的评论区留言。
至于为什么想做这个系列,原因就是觉得网上的很多资料(包括博客)对新手不是很友好,因为自己也是从新手过来的,所以很能理解新手在看到”很明显可以看出这个题用二分”这类句子的绝望(“哪里很明显了,我怎么看不出”),因此,我较详细地把“很明显”这类字眼展开了来讲,所以如果厉害的同学看到我的博文会觉得我说的很啰嗦,但是对于新手而言,说得透彻点终归是没有坏处的。
互联网公司的招聘,比较看重算法与数据结构,因此掌握这些东西可以让你在笔试、面试中发挥地更好,机会永远是留给那些有准备的人,我相信,如果你踏踏实实刷完这66道题,并且把每一道题的两种解法都理解透并熟练写出,那么你至少能在笔试、面试中超过50%
的人。而且,有良好的算法、数据结构基础对自己以后的提升也是有着莫大的帮助。这也是国际,国内的一线互联网公司为什么如此注重ACM比赛经验,比赛获奖的原因。
如果你对博文中的一些地方不是很理解,或者觉得有错,可以留言。我会在不忙的时候解答,因为我也是和你们一样,在不断接触新的知识。
下面的这个目录既可以帮助你找到每个题目的提交的地方,也可以帮助你更快地找到每道题目的解答。
同时,可以关注下剑指Offer66题这个专栏。所有的博文按顺序已经陈列在其中了。
-
- 第一题:调整数组顺序使奇数位于偶数前面
- 第二题:链表中倒数第k个结点
- 第三题:反转链表
- 第四题:合并两个排序的链表
- 第五题:树的子结构
- 第六题:二叉树的镜像
-
- 第一题:顺时针打印矩阵
- 第二题:包含min函数的栈
- 第三题:栈的压入、弹出序列
- 第四题:从上往下打印二叉树
- 第五题:二叉搜索树的后序遍历序列
- 第六题:二叉树中和为某一值的路径
-
- 第一题:复杂链表的复制
- 第二题:二叉搜索树与双向链表
- 第三题:字符串的排列
- 第四题:数组中出现次数超过一半的数字
- 第五题:最小的K个数
- 第六题:连续子数组的最大和
-
- 第一题:整数中1出现的次数
- 第二题:把数组排成最小的数
- 第三题:丑数
- 第四题:第一个只出现一次的字符位置
- 第五题:数组中的逆序对
- 第六题:两个链表的第一个公共结点
-
- 第一题:数字在排序数组中出现的次数
- 第二题:二叉树的深度
- 第三题:平衡二叉树
- 第四题:数组中只出现一次的数字
- 第五题:和为S的连续正数序列
- 第六题:和为S的两个数字
-
- 第一题:左旋转字符串
- 第二题:翻转单词顺序列
- 第三题:扑克牌顺子
- 第四题:孩子们的游戏(圆圈中最后剩下的数)
- 第五题:求1+2+3+…+n
- 第六题:不用加减乘除做加法
-
- 第一题:链表中环的入口结点
- 第二题:删除链表中重复的结点
- 第三题:二叉树的下一个结点
- 第四题:对称的二叉树
- 第五题:按之字形顺序打印二叉树
- 第六题:把二叉树打印成多行
剑指Offer66题的总结、目录的更多相关文章
- 机器人的运动范围 剑指offer66题
include "stdafx.h" #include<vector> #include<algorithm> #include<string> ...
- 剑指offer35题:第一个只出现一次的字符+剑指offer55题:字符流中第一个不重复的字符+剑指offer51题:数组中重复的数字
在看剑指offer的时候,感觉这三个题目很像,都是用哈希表可以解决,所以把这三个题整理出来,以供复习. 剑指offer35题:第一个只出现一次的字符 题目描述:在字符串中找出第一个只出现一次的字符.如 ...
- 学会从后往前遍历,例 [LeetCode] Pascal's Triangle II,剑指Offer 题4
当我们需要改变数组的值时,如果从前往后遍历,有时会带来很多麻烦,比如需要插入值,导致数组平移,或者新的值覆盖了旧有的值,但旧有的值依然需要被使用.这种情况下,有时仅仅改变一下数组的遍历方向,就会避免这 ...
- 剑指offer--7题
*题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变. *句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. *例如输入“I am a student.”,则输出“st ...
- 剑指offer20题表示数值的字符串:这题实在是太优雅了
目录 前言 一.憨憨初解 1.思路 2.代码 3.战绩 4.反思 二.看懂再解 1.思路 2.代码 3.C++版战绩 总结 前言 题目来源:https://leetcode.cn/problems/b ...
- 剑指offer--21题
#include "stdafx.h" #include<iostream>using namespace std; void LeftRotateString(cha ...
- 剑指offer--3题
题目:输入一个整形数组,数组里有正数也有负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.要求时间复杂度为O(n). 例如输入的数组为1, -2, 3, ...
- 剑指offer--13题
#include "stdafx.h" #include <iostream> using namespace std; void FirstNoRepeatCh(co ...
- 剑指offer-17题
题目要求:输入一个表示整数的字符串,把该字符串转换成整数并输出.例如输入字符串"345",则输出整数345. 分析:这道题能够很好地反应出程序员的思维和编程习惯. 的确,自己编写的 ...
随机推荐
- 一个input输入内容监听联动的demo
两个input,一个在其中一个输入,内容在另一个input中实时回显 代码如下 <!DOCTYPE html> <html> <head> <title> ...
- 如何做好一个优秀的web项目心得
最近利用空余的时间(坐公交车看教程视频),想了很多自己做的做果项目的优缺点,重新了解了前后端分离,前端工程化等概念学习,思考如何打造好一个优秀的web前端项目. 前端准备篇 前端代码规范:制定前端开发 ...
- 移动端H5页面解决软件键盘把页面顶起
在input失去焦点的时候加上强制页面归位 window.scroll(0,0); 上代码 <input data-component="SearchInput" type= ...
- 解决vscode换行光标跳转行首
这个问题是由于设置自动保存而造成的. 解决方法1:取消自动保存. 解决方法2:在首选项的设置里加上"files.autoSaveDelay": 10000,延迟一小会自动保存的时间 ...
- 文库网站建设,文库网站PHP代码,TP开发文库网
专业定制仿百度文库网站系统,文库网站系统源码,文库网站建设开发,支持电脑版+手机版+微信版+小程序版+APP版,由10年的技术团队专业定制,需要的朋友可以联系我们.网站采用:PHP+MySQL+t ...
- Delphi XE10.1 引用计数
以往的Delphi版本,不支持接口的Weak,和UnSafe的引用,支持对象的Weak, UnSafe,而且仅在Android和Ios平台上支持. 现在Delphi XE10.1 Berlin终于 ...
- CentOS6安装各种大数据软件 第一章:各个软件版本介绍
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
- 第一篇随笔, 正在做 ESP32 , STM32 , 树莓派 RaspberryPi 的创客工具
先随便写写一些思路, 以后再整理. 这段时间笔者做了一些硬件开发, 领悟了一些事情. 1 - 在常规创客的角度上, 硬件开发所需的知识面比较广, 非常广, 但不算太深. 2 - 发现硬件开发由于其特殊 ...
- hive的分桶
套话之分桶的定义: 分桶表是对列值取哈希值的方式,将不同数据放到不同文件中存储.对于 hive 中每一个表.分区都可以进一步进行分桶. 列的哈希值除以桶的个数来决定每条数据划分在哪个桶中.(网上其它定 ...
- PLL各种问题,关于倍频
原来一直想不通频率为什么可以增加. 一个4M的时钟怎么就可以升高到40M, 现在明白了,4M的时钟并没有被升高, 而是PLL里的VCO这个东西, 这个东西可以产生一定范围的内的任意频率信号, 频率由输 ...