Day6:剑指 Offer 17. 打印从1到最大的n位数
题目:输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
题解:首先需要知道,指用输入的4,位数为4的最大的值:9999,其实就是10x10x10x10-1(10的四次方),n位数的最大值就是10的n次方。
class Solution {
public int[] printNumbers(int n) {
int maxnum = (int)Math.pow(10,n);
int[] arr= new int[maxnum-1];
for(int i=1;i<maxnum;i++){
arr[i-1]=i;
}
return arr;
}
}
Day6:剑指 Offer 18. 删除链表的节点
力扣链接:剑指 Offer 18. 删除链表的节点
写过前边的几道题目之后,这道题目就变得简单多了,利用链表自身next的规则,遍历删除
题目:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。
题解:利用链表移动的规则,除去null与第一个数为head的规则,不断遍历next,如果遇到val==目标值。下一个值直接指向下下一个值。
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode deleteNode(ListNode head,