剑指offer答案版Word文件下载.docx
- 文档编号:18040621
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:21
- 大小:544.60KB
剑指offer答案版Word文件下载.docx
《剑指offer答案版Word文件下载.docx》由会员分享,可在线阅读,更多相关《剑指offer答案版Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
next;
i++;
A;
for(intj=i-1;
j>
=0;
j--){
A.push_back(a[j]);
}
returnA;
斐波那契数列;
011235*****
intFibonacci(intn){
if(n==0)
return0;
if(n==1)
return1;
inta=0,b=1,c=0;
for(inti=2;
=n;
i++)
{
c=a+b;
a=b;
b=c;
returnc;
/*
intFibonacci(intn){
if(n==0||n==1)returnn;
returnFibonacci(n-1)+Fibonacci(n-2);
*/
intjumpFloor(intnumber){
//jumpFloor函数的作用是返回第一次跳的所有可能性
//每跳完第一次后,再把剩余的台阶数当做第一次跳(重新调用jumpFloor)
if(number==0)
if(number==1)
if(number==2)
return2;
intA=0;
for(inti=1;
3;
i++){//i第一次跳的台阶数。
A=A+jumpFloor(number-i);
intjumpFloorII(intnumber){
intA=1;
number;
A=A+jumpFloorII(number-i);
intrectCover(intnumber){
if(number==0||number==1||number==2)
returnnumber;
/*returnrectCover(number-1)+rectCover(number-2);
*/
inta=1,b=2,c=0;
for(inti=3;
=number;
doublePower(doublebase,intexponent){
doubleA=1.0;
if(exponent<
0){
exponent=exponent*-1;
exponent;
A=A*base;
return1/A;
else{
reOrderArray(vector<
&
inta[array.size()],b[array.size()];
intA=0,B=0,i=0;
for(i=0;
if(array[i]%2==0){
a[A++]=array[i];
else
b[B++]=array[i];
i=0;
B;
array[i]=b[j];
A;
array[i]=a[j];
returnarray;
输入一个链表,输出该链表中倒数第k个结点。
输入
{1,2,3,4,5},1
{5}
返回值:
Public:
ListNode*FindKthToTail(ListNode*pHead,intk){
ListNode*p=pHead;
inti=0;
if(pHead==NULL)
returnNULL;
if(k>
i||k<
0)
p=pHead;
for(intj=0;
i-k;
returnp;
}};
{321}->
{123}
ListNode*ReverseList(ListNode*pHead){
ListNode*p=pHead;
inta[20],i=0,k=0;
while(p!
for(intj=i-1;
p->
val=a[j];
returnpHead;
ListNode*Merge(ListNode*pHead1,ListNode*pHead2)
ListNode*head1=newListNode(0);
ListNode*A=head1;
while(pHead1!
=NULL||pHead2!
if(pHead1==NULL){
A->
next=pHead2;
pHead2=pHead2->
elseif(pHead2==NULL){
next=pHead1;
pHead1=pHead1->
elseif(pHead1->
val>
pHead2->
val){
A=A->
returnhead1->
intMoreThanHalfNum_Solution(vector<
numbers){
intsize=numbers.size();
intban=size/2;
inta[size];
for(i=0;
size;
a[i]=0;
i++){//a1number值的个数
if(a[numbers[i]]++>
=ban)
returnnumbers[i];
GetLeastNumbers_Solution(vector<
input,intk){
ret;
input.size())
return{};
intv=0,p=0;
input.size();
if(i!
=j&
input[i]<
input[j]){
v=input[j];
input[j]=input[i];
input[i]=v;
k;
ret.push_back(input[i]);
returnret;
intFirstNotRepeatingChar(stringstr){
intflag=0,i,j;
if(str.size()<
=0)
return-1;
for(i=0;
str.size();
for(j=0;
str[i]==str[j]){
j=str.size()+10;
if(j!
=str.size()+11){
returni;
FindNumsAppearOnce(vector<
inta[2],flag=0,j=0,i=0;
for(j=0;
array[i]==array[j])
j=array.size();
=array.size()+1)
a[flag++]=array[i];
if(flag==2)
i=array.size();
if(a[0]>
a[1]){
intc=a[0];
a[0]=a[1];
a[1]=c;
return{a[0],a[1]};
FindNumbersWithSum(vector<
array,intsum){
intc=0,a[2];
a[0]=0;
a[1]=0;
if(i!
sum==array[i]+array[j]){
a[0]=array[i];
a[1]=array[j];
}
if(a[0]>
c=a[0];
if(a[0]==0&
a[1]==0)
stringLeftRotateString(stringstr,intn){
stringa="
"
;
intk=n;
if(str.size()<
=n||str.size()==0){
returnstr;
while(k<
str.size()){
//for(inti=0;
a+=str[k];
k++;
//}
/*
for(inti=n;
a+=str[i];
}*/
///while(b.size()>
n-1){
n;
//n++;
returna;
boolIsContinuous(vector<
numbers){
intflag=0,a=0,k=0;
if(numbers.size()<
5)
for(inti=0;
5;
numbers[i]<
numbers[j])
a=numbers[i];
numbers[i]=numbers[j];
numbers[j]=a;
while(numbers[k]==0){
flag++;
if(numbers[4]-numbers[flag]==4||flag==4){
intAdd(intnum1,intnum2){
while(num2!
=0){
intc=(unsignedint)((num1&
num2)<
<
1);
num1=num1^num2;
num2=c;
returnnum1;
intStrToInt(stringstr){
longinta=0;
intflag=0;
if(i==0&
str[i]=='
-'
)
flag=2;
elseif(i==0&
+'
flag=1;
elseif('
0'
=str[i]&
str[i]<
='
9'
){
if(i==0)
a=a*10+(str[i]-'
);
else
if(flag==1){
elseif(flag==2){
return-1*a;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 剑指 offer 答案
