题解 | #从尾到头打印链表#

从尾到头打印链表

http://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035

第一题
/**
*  struct ListNode {
*        int val;
*        struct ListNode *next;
*        ListNode(int x) :
*              val(x), next(NULL) {
*        }
*  };
*/
class Solution {
public:
    vector<int> printListFromTailToHead(ListNode* head) {
        
        // 这些编程网站一直喜欢搞的边界问题
        // 有一个head=[]
        // 这种边界问题就是测试那种工作的人 要研究的
        if(head == NULL)
            return vector<int>(0);
        // 保存头结点 后面 第一次遍历知道长度 就走了
        ListNode *temp;
        temp=head;
        int len=0;
        // 知道长度
        while (!head->next==NULL){
            head=head->next;
            len++;
        }
        head=temp; 
        // 定义vector数字的代码用来回答
        vector<int> ans(len+1);
        // 反向检查 填充回数组
        for (int i =len;i>=0;i--){
            ans[i]=head->val;
            head=head->next;
        }
        return ans;
//         // 这些编程网站一直喜欢搞的边界问题
//         // 有一个head=[]
//         // 这种边界问题就是测试那种工作的人 要研究的
//         if(head == NULL)
//             return vector<int>(0);
//         vector<int> ans;
//         while (!head->next==NULL){
//             ans.insert(ans.begin(),head->val);
//             head=head->next;
//         }
//         ans.insert(ans.begin(),head->val);
//         return ans;
    }
};
题解 文章被收录于专栏

一遍做剑指offer 一边保存做题步骤 并附带详细注释哦

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 10:46
点赞 评论 收藏
分享
jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
拉丁是我干掉的:把上海理工大学改成北京理工大学。成功率增加200%
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务