美文网首页
剑指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