力扣-剑指offer-day003

1. 打印从1到最大的n位数

剑指 Offer 17.打印从1到最大的n位数

题目描述

在这里插入图片描述

解题思路

相信各位闭着眼睛都能写出来,但是我要说的是这个题的本意是来

编码实现
class Solution {
    public int[] printNumbers(int n) {
        int[] result = new int[(int) Math.pow(10,n) - 1];
        for (int i = 0; i < result.length; i++) {
            result[i] = i+1;
        }
        return result;
    }
}

2. 反转链表

剑指 Offer 24. 反转链表

题目描述

在这里插入图片描述

解题思路

双指针

编码实现
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode reverseList(ListNode head) {
        // 如果一个都没有
        if(head == null ){
            return head;
        }

        // 采用双指针的形式,时间复杂度为O(n)
        // 首先需要使用一个空白的空间来表示存储已经存储了的链表
        ListNode pre = null;
        // 记录头指针的指向
        ListNode head_one = head;

        // 如果不到最后一个节点
        while(head_one.next != null){
        	// 需要一个临时指针来用来存储
            ListNode tmp = head_one.next;
            head_one.next = pre;
            pre = head_one;
            // 下一个节点是什么
            head_one = tmp;
        }
        head_one.next = pre;
        return head_one;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值