1. 打印从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. 反转链表
题目描述
解题思路
双指针
编码实现
/**
* 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;
}
}