自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 剑指offer 二叉树的深度 C++

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。解答/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NUL...

2019-02-28 18:56:52 258

原创 剑指offer 两个链表的第一个公共结点 C++

题目描述输入两个链表,找出它们的第一个公共结点。解答方法:先计算两个链表的长度,因为有公共节点。计算出连个链表的长度差n,只需要将较长的一个链表的节点向后移动n个,那么两个链表则可以同时移动,只要相等,那么就找到了公共节点。这种方法的时间复杂度较好。如果直接用暴力法嵌套两个循环,时间复杂度不好。/*struct ListNode { int val; struct ListNod...

2019-02-28 18:54:37 232

原创 剑指offer 把数组排成最小的数 C++

题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路参考至 https://www.cnblogs.com/AndyJee/p/4676019.html通过定义一个比较规则,直接将整个数组排列起来,使得满足从前往后,连起来最小。解答class So...

2019-02-28 08:34:32 928

原创 剑指offer 连续子数组的最大和 C++

题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列...

2019-02-28 08:01:33 295

原创 剑指offer 最小的K个数 C++

题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。解答方法一时间复杂度O(NlognN)class Solution {public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { ...

2019-02-27 21:12:18 746

原创 剑指offer 数组中出现次数超过一半的数字 C++

题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。解答直接用hash_table 就可使实现。主要是需要注意下面的第二个循环的写法,** m.first, m.second **class Solution {publi...

2019-02-27 09:34:54 420

原创 剑指offer 二叉搜索树与双向链表 C++

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路本题和leetcode14有相似之处。采用树的中序历遍的思想。解答/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) :...

2019-02-27 09:03:41 574

原创 剑指offer 二叉树中和为某一值的路径 C++

题目描述输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)答案没有考虑数组长度大的数组靠前这个条件,但是还是通过了。/*struct TreeNode { int val; struct TreeNode *left; struct...

2019-02-25 10:50:16 358

原创 剑指offer 二叉搜索树的后序遍历序列 C++

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。解答class Solution {public: bool VerifySquenceOfBST(vector<int> sequence) { if(sequence.empty()) return fal...

2019-02-24 10:48:50 167

原创 剑指offer 从上往下打印二叉树 C++ (层序历遍)

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。解答/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {pub...

2019-02-24 09:46:12 390

原创 剑指offer 栈的压入、弹出序列 C++

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路通过一个辅助栈来实现。将压入序列不断压入辅助栈,如果栈顶元素等于弹出序列元素,那...

2019-02-24 09:13:04 192

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除