Day 7

zhanglei 2022年07月28日 433次浏览

Day 7

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

题目描述

image-20220728210041536

解答

class Solution {
    public int[] printNumbers(int n) {
        // Math类是lang包下的,所以不要导包
        int len= (int) Math.pow(10,n)-1;
        int[] array=new int[len];
        int i=1;
        for(int j=0;j<len;j++){
            array[j]=j+1;
        }
        return array;
    }
}

剑指offer 18.删除链表的节点

题目描述

image-20220728210315777

解答

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode deleteNode(ListNode head, int val) {
        //构造虚拟头结点,next域是head
        ListNode pre=new ListNode(0);;
        pre.next=head;
        //构造现有指针 cur,与上面的前置指针 pre配合使用
        ListNode cur=head;
        // 先判断是否为头结点,是的话返回head.next即可
        if(head.val==val) {
            return head.next;
        }else{
            //如果不是头结点
            while(cur!=null){
                if(cur.val==val){
                    pre.next=cur.next;
                    break;
                }else{
                    pre=pre.next;
                    cur=cur.next;
                }
            }
        }
        
        return head;
    }
}