剑指offer
楚夏
千山鸟飞绝,万径人踪灭。孤舟蓑笠翁,独钓寒江雪。
展开
-
斐波那契数列
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n 使用C/C++实现,代码如下: class Solution { public: int Fibonacci(int n) { int sum = 0; int a = 1; int b = 1;原创 2017-05-12 11:11:10 · 138 阅读 · 0 评论 -
合并两个排序的链表
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。使用C/C++实现,代码如下:/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class S原创 2017-05-12 11:40:12 · 147 阅读 · 0 评论 -
反转链表
题目描述 输入一个链表,反转链表后,输出链表的所有元素。使用C/C++实现,代码如下:/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: L原创 2017-05-12 11:39:13 · 179 阅读 · 0 评论 -
链表中倒数第k个结点
题目描述 输入一个链表,输出该链表中倒数第k个结点。使用C/C++实现,代码如下:/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: Lis原创 2017-05-12 11:38:00 · 132 阅读 · 0 评论 -
数值的整数次方
题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。使用python实现,代码如下:# -*- coding:utf-8 -*- class Solution: def Power(self, base, exponent): # write code here return base **原创 2017-05-12 11:36:00 · 117 阅读 · 0 评论 -
斐波那契数列
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39使用C/C++实现,代码如下:class Solution { public: int Fibonacci(int n) { int sum = 0; int a = 1; int b = 1; int i = 0;原创 2017-05-12 11:34:02 · 200 阅读 · 0 评论 -
替换空格
题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。使用C/C++实现,代码如下:class Solution { public: void replaceSpace(char *str,int length) { char chTemp[1024] = "\0";原创 2017-05-12 11:31:15 · 144 阅读 · 0 评论 -
二维数组中的查找
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。使用C/C++实现,代码如下:class Solution { public: bool Find(int target, vector<vector<int> > array) { int i =原创 2017-05-12 11:29:11 · 182 阅读 · 0 评论 -
从头到尾打印链表
题目描述 输入一个链表,从尾到头打印链表每个节点的值。使用C/C++实现,代码如下:/** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) { * } * }; */原创 2017-05-12 11:27:28 · 222 阅读 · 0 评论 -
用两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。使用C/C++实现,代码如下:class Solution { public: void push(int node) { stack1.push(node); return; } int pop() { int n = 0原创 2017-05-12 11:24:51 · 138 阅读 · 0 评论 -
变态跳台阶
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。使用C/C++实现,代码如下:class Solution { public: int jumpFloorII(int number) { int n = 2;if (0 >= number){ return 0;原创 2017-05-12 11:22:49 · 142 阅读 · 0 评论 -
跳台阶
跳台阶题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。使用C/C++实现,代码如下:class Solution { public: int jumpFloor(int number) { int m = 1; int n = 1; int sum = 0; in原创 2017-05-12 11:15:12 · 129 阅读 · 0 评论 -
矩形覆盖
题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?使用C/C++,代码如下:class Solution { public: int rectCover(int number) { int a = 1; int b = 2; int sum = 0;原创 2017-05-12 11:20:37 · 199 阅读 · 0 评论 -
调整数组顺序使奇数位于偶数前面
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。使用C/C++实现,代码如下:class Solution { public: void reOrderArray(vector<int> &array) { vector<int> iVec1原创 2017-05-12 11:37:02 · 128 阅读 · 0 评论