剑指offer-变态跳台阶、从尾到头打印链表

变态跳台阶:
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
解题思路:
开始的时候也一头雾水,然后就开始笨办法拿出纸笔算,看下是否能找到规律,恩,果真有规律。


剑指offer-变态跳台阶、从尾到头打印链表_第1张图片

最后,上代码
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 printListFromTailToHead(ListNode* head) {
        vector b;
        if (head == NULL)
            return b;
        stack 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;    
        
        
    }
};

你可能感兴趣的:(剑指offer-变态跳台阶、从尾到头打印链表)