美文网首页
剑指offer-变态跳台阶、从尾到头打印链表

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

作者: 涂山容容 | 来源:发表于2018-08-06 20:54 被阅读0次

变态跳台阶:
题目描述
一只青蛙一次可以跳上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;    
        
        
    }
};

相关文章

网友评论

      本文标题:剑指offer-变态跳台阶、从尾到头打印链表

      本文链接:https://www.haomeiwen.com/subject/svtnvftx.html