剑指offer
sunny_fbw
这个作者很懒,什么都没留下…
展开
-
剑指offer_替换空格
题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“we are happy”,则输出为”we%20are%20happy”。 遇到这道题目时,我首先应该向面试官问清楚是可以自己申请空间,还是原有空间足够多在原有空间上操作。自己申请空间这种方法比较简单:我们只要先计算字符串中的空格个数,算出所需空间的大小,然后比较字符串与空格,用%20替换即可。如果不允许申请空间,需要对字符串进原创 2017-08-18 10:08:52 · 285 阅读 · 0 评论 -
剑指offer_重建二叉树
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的谦虚遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的头结点。struct ListNode{ int data; ListNode* pLeft; ListNode* pRigth;原创 2017-08-18 16:16:45 · 216 阅读 · 0 评论 -
Fibonacci的递归及非递归实现
斐波那契数列:F(0)=1,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)#include<iostream>#include<string.h>using namespace std;int Fibonacci(int n){ if(n==0 || n==1) return 1; /*非递归的方法 int Fibn = 1;原创 2017-08-20 22:54:07 · 1641 阅读 · 0 评论 -
剑指offer_数值的整数次方
实现函数double Power(double base , int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。bool g_InvalidInput = false;bool equal(double num1,double num2){ if((num1 - num2 > -0.0000001) && (num1 - num2 < 0原创 2017-08-24 21:04:45 · 232 阅读 · 0 评论 -
二进制数中的1的个数
实现一个函数,输入一个整数,输出该整数二进制表示中1的个数。 我们的思路是:找一个中间变量1,与整数进行&操作,每次向左移一位,就能判断下一位是不是1… 这样反复左移就能每次判断其中一位是不是1。int Numberof1(int n){ int count = 0; unsigned int flag = 1; while(flag)//循环32次 {原创 2017-08-22 12:14:02 · 204 阅读 · 0 评论