题目描述
统计一个数字在排序数组中出现的次数。
class Solution {
public:
int GetNumberOfK(vector<int> data ,int k) {
int len = data.size();
int cnt=0;
for(int i=0;i<len;i++)
{
if(data[i]==k)
cnt++;
}
return cnt;
}
};
题目描述
输入一个链表,从尾到头打印链表每个节点的值。
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
/*
思路:先将链表的值从头到尾入栈,然后再出栈存储。
*/
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
vector<int>res;
stack<int>s;
ListNode *p = head;
while(p!=NULL)
{
s.push(p->val);
p=p->next;
}
while(!s.empty())
{
res.push_back(s.top());
s.pop();
}
return res;
}
};
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
class Solution {
public:
int jumpFloor(int number) {
int f[30];
f[1]=1;f[2]=2;
for(int i=3;i<=number;i++)
f[i]=f[i-1]+f[i-2];
return f[number];
}
};
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
class Solution {
public:
int jumpFloorII(int number) {
if(number==0)
return number;
int res=1;
for(int i=1;i<number;i++)
res*=2;
return res;
}
};