变态跳台阶:
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
解题思路:
开始的时候也一头雾水,然后就开始笨办法拿出纸笔算,看下是否能找到规律,恩,果真有规律。
最后,上代码
c++:
class Solution {
public:
int jumpFloorII(int number) {
return 1<<(number-1);
}
};
python:
class Solution:
def jumpFloorII(self, number):
# write code here
return 2**(number-1)
从尾到头打印链表
题目描述
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
解题思路:
这是一道基础题,考的数据结构,因为要从尾到头,所以可以用栈先进后出的特质。要考虑的是边界问题,比如链表是不是空。
c++:
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
vector<int> b;
if (head == NULL)
return b;
stack<ListNode*> a;
ListNode* tmp = head;
while (tmp != NULL){
a.push(tmp);
tmp = tmp->next;
}
while (!a.empty()){
tmp = a.top();
b.push_back(tmp->val);
a.pop();
}
return b;
}
};