摘要:
牛客网剑指offer贪心题目总结(共2道) 1、变态跳台阶(剑指9) 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 class Solution { public: int jumpFloorII(int number) { retu 阅读全文
摘要:
牛客网剑指offer递归和迭代题目总结(共3道) 1、斐波那契数列(剑指7) 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。 n<=39 class Solution { public: int Fibonacci(int n) { 阅读全文
摘要:
牛客网剑指offer位运算和数学题目总结(共5道) 1、二进制中1的个数(剑指11,同leetcode191) 输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。 解题思路: 如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变 阅读全文
摘要:
牛客网剑指offer树题目总结(共17道) 1、二叉树的前、中、后序遍历(递归和非递归) #include<iostream> #include<string> #include<vector> #include<stack> using namespace std; struct TreeNode 阅读全文
摘要:
题目来源:剑指offer63:数据流中的中位数 题目描述: 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMe 阅读全文
摘要:
栈和队列 1、用两个栈实现队列(剑指5) 用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。 class Solution { public: void push(int node) { while(!stack2.empty()){ stack1.push(stac 阅读全文
摘要:
牛客网剑指offer链表题目总结(共8道) 1、从尾到头打印链表(剑指3) 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 方法一:借助栈 /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(i 阅读全文
摘要:
牛客网剑指offer字符串题目总结(共10道) 1、替换空格(剑指2) 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解题思路:先计算加了空格的总长度,然后从后往前复制。 class S 阅读全文
摘要:
牛客网剑指offer数组题目总结(共13道) 1、二维数组中的查找(剑指1) 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 class Solution 阅读全文