自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。

题目是关于二叉搜索树的后序遍历,我们需要了解二叉搜索树的左子树所有的值小于根节点,右子树的值大于根节点,而后序遍历数组的最后一个值为根节点,判定数组中小于根节点的为其左子树,大于根节点的为其右子树,然后就是其递归判定左子树和右子树;牛客网剑指offer在线编程通过代码:class Solution {public:    bool VerifySquenceOfBST(vector

2017-06-07 10:17:23 503

原创 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。

思路:二叉树的层序遍历,用到队列结构代码如下:/*struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}};*/class Solution {public: 

2017-06-06 00:04:48 554

原创 剑指offer题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。

假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路:1.建立一个辅助栈,将栈的压入序列压入到辅助栈中2.压入一个元素就与弹出序列进行比较,如果辅助栈顶元素与弹出序列相等就弹出3.最后判断辅助栈元素是否被完全弹出,如果

2017-06-04 23:02:33 2786

原创 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。

class Solution {public:    stackdata,min_data;//设一个数据栈和一个辅助栈,数据栈中保存每次压人的元素,辅助栈中保存栈中的最小值    void push(int value)     {        data.push(value);//每次压入的元素都要保存在数据栈中        if(min_data.size()==

2017-06-03 10:35:13 435

原创 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)

代码:参考剑指offer/*struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}};*/class Solution {public://采用递归的方法比较简洁 

2017-05-28 11:03:48 564

原创 斐波那契数列系列问题,题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

思路:1.   n=1时,只有一种跳法f(1)=1;    2.   n=2时,f(2)=2;            3.   n>2时,第一次可以调1级或者2级台阶,跳1级台阶,剩下的跳法为f(n-1),跳2级台阶,剩下的跳法为f(n-2).因此总的跳法为f(n)=f(n-1)+f(n-2)因此此题为斐波那契数列代码:class Solution {public:

2017-05-25 10:42:23 1516

原创 重建二叉树:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。

例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeN

2017-05-22 14:15:17 274

原创 牛客网在线编程剑指offer题目二请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:1.第一遍循环长出空格个数,扩大字符串长度           2.从后往前复制字符串,遇到空格替换代码:class Solution {public:void replaceSpace(char *str,int

2017-05-21 22:14:33 464

原创 牛客网剑指offer—题目一在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:因为是只需判断有无该整数,所以用bool函数,返回false或true     假设是这样一个数组,所以从选左下角或者右上角的数字为第一个进行判断,以左下角6为第一个数进行判断 为例,假设目标数为9,  9>6,因此在6

2017-05-21 20:14:24 2263

原创 剑指offer题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

牛客网剑指offer在线编程:方法一:利用两个指针,实现了是数组奇数在前偶数在后,但通过不了测试用例,因为改变了奇数和奇数,偶数和偶数之间的相对位置class Solution {public:    void reOrderArray(vector &array)     {        vector::iterator it1,it2;        it1=ar

2017-05-21 16:41:41 1724

空空如也

空空如也

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

TA关注的人

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