高频题(一)

文章目录

  • 高频题(一)
    • 一、反转链表(206)
      • 1. 双指针迭代
      • 2. 递归
    • 二、无重复字符的最长字串(3)
    • 三、LRU缓存机制(146)
      • 1. 题目描述
      • 2. LRU算法的介绍
      • 3. 数据结构的选择
      • 4. 代码实现
    • 四、数组中的第k个最大元素(215)
      • 1. 快排变形
      • 2. 大顶堆
    • 五、K个一组翻转链表(25)
    • 六、两数之和(1)
      • 1. 一遍哈希表
      • 2. 两遍哈希表
    • 七、三数之和(15)
    • 八、环形链表II(142)
      • 1. 哈希表
      • 2. 快慢指针
    • 九、环形链表(141)
      • 1. 哈希表
      • 2. 快慢指针
    • 十、合并两个有序链表(21)
      • 1. 递归
      • 2. 迭代

一、反转链表(206)

题目描述:

image-20210425193614987

注意:更准确的表达应该是,反转的结果为1 ⬅2 ⬅ 3 ⬅ 4 ⬅ 5,也就是说不能单纯的改变节点值

1. 双指针迭代

思路:

创建两个指针pre和cur,pre最初指向null,cur最初指向head (pre始终是cur的前一个节点),两个指针不断的向后遍历链表,每次迭代中cur指向pre,然后pre与cur同时向后移动一位。

注意:

将cur指向pre之前需要将cur.next保存在temp变量中,以保证可以访问到cur原本的下一个节点 (用来向后移动)。图解如下:

image-20210425193627198

代码实现:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) { val = x; }* }*/
class Solution {public ListNode reverseList(ListNode head) {ListNode pre = null;ListNode cur = head;ListNode temp = null;while(cur!=null) {//记录当前节点的下一个节点temp = cur.next;//将当前节点指向precur.next = pre;//pre和cur节点都后移一位pre = cur;cur = temp;}return pre;}
}

时间复杂度O(n)

空间复杂度O(1)

2. 递归

思路:

从第一个节点一直递归到最后一个节点,使用cur记录下最后一个节点 (最终结果从cur返回),遍历到最后一个节点时递归结束,开始回溯,倒数第二个节点.next.next = 倒数第二个节点 (将倒数第二个节点的后一个节点的指向修改为倒数第二个节点),持续反向指向直到第一个节点,返回cur。图解如下:

image-20210425193638307

代码实现:

class Solution {public ListNode reverseList(ListNode head) {//第一个条件防止链表为空,第二个条件将递归进行到最后一个节点if(head==null || head.next==null) {return head;}//cur是最后一个节点,cur的值不再改变//head是倒数第二个节点时最后一次递归返回的就是最后一个节点ListNode cur = reverseList(head.next);//4.next.next = 4;代表5指向4head.next.next = head;//防止5与4构成循环,不需要让4指向5head.next = null;//每层递归都返回不变的cur值,也就是最后一个节点return cur;}
}

时间复杂度O(n)

空间复杂度O(n),递归使用栈空间

二、无重复字符的最长字串(3)

题目描述:

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。

image-20210508100017940

思路:滑动窗口

image-20210508102427042

观察上述过程可以发现,假设选择字符串中的第 left 个字符作为起始位置,并且得到了不包含重复字符的最长子串的结束位置为 right,即 right + 1位置发生了重复, 那么就需要重新选择第 left + 1 个字符作为起始位置,这时从 left + 1到 right 的字符显然是不重复的,由于少了原本的第 left 个字符(第 left 个字符也会从无重复子串中删除),那么就可以继续扩大 right 直到右侧出现了重复字符为止。

左边界和右边界只会向右扩大,不会缩小或重置。

代码实现:

注意:注意HashSet的两个方法名:contains、add

class Solution {public int lengthOfLongestSubstring(String s) {HashSet<Character> hashSet = new HashSet<>();int right = 0; int maxLen = 0; //记录最长无重复子串的长度//每执行一次for循环,表示某次的left判断完毕,需要判断left+1位置for (int left = 0; left < s.length(); left++) {//每一轮都需要将上一轮的left从子串中移除if (left != 0) {hashSet.remove(s.charAt(left - 1));}//向右移动right,直到出现了重复字符while (right < s.length() && !hashSet.contains(s.charAt(right))) {hashSet.add(s.charAt(right));right++;}//right值不会重置,只会变大maxLen = Math.max(maxLen, right - left);//由于执行right++,故right最终会来到第一个重复字符的位置}return maxLen;}
}
image-20210508124333657

三、LRU缓存机制(146)

1. 题目描述

运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制

实现 LRUmap 类:

  • LRUmap(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存
  • int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1
  • void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限capacity时,应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间

2. LRU算法的介绍

  • 全称为最近最少使用,是一种缓存淘汰策略,也就是说认为最近使用过的数据应该是有用的,很久都没使用过的数据应该是无用的,内存满了就优先删除那些很久没有使用过的数据

  • 对应到数据结构表述的就是最常使用的元素将其移动至头部或尾部,这就会导致很久没有使用过的元素会被动的移动至另一边,最先删除的元素是最久没有被使用过的元素(注意不是使用次数最少的元素,这是LFU算法)

    • get一个元素时算是访问该元素,需要将此元素移动至头部或尾部,表示最近使用过
    • put一个元素时算是访问该元素,需要将此元素插入到头部或尾部,表示最近使用过

3. 数据结构的选择

3.1 为什么不使用数组?

数组查找一个元素的时间复杂度为O(1),但其删除元素后将元素整体移动的时间复杂度为O(n),不满足题意

3.2 为什么不使用单向链表?

链表 添加 / 删除 元素的时间复杂度为O(1),如果删除的是头节点则满足题意

但如果删除的是链表的中间节点,需要保存待删除节点的前一个节点,且遍历到待删除节点的时间复杂度为O(n),不满足题意

3.3 为什么使用HashMap + 双向链表?

HashMap寻找待删除节点只需要O(1)的时间复杂度

双向链表删除节点不需要遍历找到待删除结点的前一个节点,故删除任意位置的元素时间复杂度都是O(1)

综上所述:使用HashMap寻找节点,使用双向链表 删除 / 移动 节点,可满足时间复杂度为O(1)的要求

整体结构如下图所示:

image-20210419215308544

4. 代码实现

将刚刚使用过的元素移动到头部,很久没有使用过的元素移动到尾部

public class LRUCache {//双向链表的节点class DLinkedNode { //注意内部类的class首字母小写int key; //key与Map的key内容一致int value;DLinkedNode prev;DLinkedNode next;public DLinkedNode() {}public DLinkedNode(int _key, int _value) {key = _key; value = _value;}}private Map<Integer, DLinkedNode> map = new HashMap<Integer, DLinkedNode>();private int size; //实际元素个数private int capacity; //容量private DLinkedNode head, tail;//构造器public LRUCache(int capacity) {this.size = 0;this.capacity = capacity;//使用伪头部、伪尾部节点head = new DLinkedNode(); //伪头部节点是第一个节点的前一个节点tail = new DLinkedNode(); //伪尾部节点是最后一个节点的后一个节点//初始化时伪首尾节点要连在一起head.next = tail;tail.prev = head;}//get方法public int get(int key) {DLinkedNode node = map.get(key);if (node == null) {return -1;}//如果key存在,先通过HashMap定位,再移到头部moveToHead(node);return node.value;}//put方法public void put(int key, int value) {DLinkedNode node = map.get(key);if (node == null) {//如果key不存在,创建一个新的节点DLinkedNode newNode = new DLinkedNode(key, value);//添加进哈希表map.put(key, newNode);//添加至双向链表的头部addToHead(newNode);++size;if (size > capacity) {//如果元素个数超出容量,删除双向链表的尾节点DLinkedNode tail = removeTail();//删除哈希表中对应的项map.remove(tail.key);--size;}}else {//如果key存在,先通过HashMap定位,再修改value并移到头部node.value = value;moveToHead(node);}}//将节点移动至头部private void moveToHead(DLinkedNode node) {removeNode(node); //将此节点从链表断开addToHead(node); //将断开的节点移动至头部}//将节点从链表断开private void removeNode(DLinkedNode node) {node.prev.next = node.next;node.next.prev = node.prev;}//将节点移动至头部(修改四个指针)//先修改插入节点的两个指针private void addToHead(DLinkedNode node) {node.prev = head; //伪头部节点成为此节点的前一个节点node.next = head.next; //原来的第一个节点成为此节点的后一个节点head.next.prev = node; //原来的第一个节点向前的指针指向此节点head.next = node; //此节点成为伪头部节点的后一个节点}//删除链表的尾节点//尾节点仅此处使用private DLinkedNode removeTail() {DLinkedNode res = tail.prev; //删除的其实是伪尾部的前一个节点removeNode(res);return res;}
}

四、数组中的第k个最大元素(215)

题目描述:

在未排序的数组中找到第 k 个最大的元素。注意,需要找的是数组第 k 个最大的元素的值,而不是第k个元素

image-20210502182807835

1. 快排变形

思路:

采用快排的方法,经过交换后判断基准数的位置,如果基准数的索引经过划分并交换之后为m,判断m是否等于 arr.length - k ,如果等于则直接返回m位置的元素,如果小于,递归右子区间,否则递归左子区间

代码实现:

class Solution {public int findKthLargest(int[] arr, int k) {//递归的划分数组(小于/大于区域再划分),最终确定最小的k个数return partitionArray(arr, 0, arr.length - 1, arr.length - k);}int partitionArray(int[] arr, int lo, int hi, int k) {//可以使用随机快排//调用partition方法,进行一次划分,返回值是基准数的索引位置int m = partition(arr, lo, hi);//如果等于则直接返回m位置的元素,如果小于,递归右子区间,否则递归左子区间if (m == k) {return arr[m];} else {return m < k ? partitionArray(arr, m + 1, hi, k) : partitionArray(arr, lo, m - 1, k);}}//返回值是基准数的索引位置int partition(int[] arr, int l, int r) {int less = l - 1;int more = r;while (l < more) {if (arr[l] < arr[r]) {swap(arr, ++less, l++);} else if (arr[l] > arr[r]) {swap(arr, --more, l);} else {l++;}}swap(arr, r, more);return more;}void swap(int[] a, int i, int j) {int temp = a[i];a[i] = a[j];a[j] = temp;}
}
  • 时间复杂度:O(n)(使用了随机快排之后)

  • 空间复杂度:O(logn),递归使用栈空间的空间代价的期望为 O(logn)

2. 大顶堆

**思路:**采用堆排序的思路,构造一个大顶堆,做 k - 1 次堆顶元素和最后一个元素的交换操作(并把堆长度减一),然后返回堆顶元素即可。

代码实现:

class Solution {public int findKthLargest(int[] nums, int k) {for (int i = 0; i < nums.length; i++) {heapInsert(nums, i);}int size = nums.length;//此处不能进行交换//循环条件是k-1次for (int i = 0; i < k - 1; i++) {//交换的时候减减,调整的时候要把size传进去swap(nums, 0, --size);heapify(nums, 0, size);}return nums[0];}public void heapInsert(int[] arr, int i) {while (arr[i] > arr[(i - 1) / 2]) {swap(arr, i, (i - 1) / 2);i = (i - 1) / 2;}}public void heapify(int[] arr, int i, int size) {int left = i * 2 + 1;while (left < size) {int largest = left + 1 < size && arr[left + 1] > arr[left] ? left + 1 : left;largest = arr[largest] > arr[i] ? largest : i;if (arr[largest] == arr[i]) {break;}swap(arr, i, largest);i = largest;left = i * 2 + 1;}}public void swap(int[] arr, int l, int r) {int temp = arr[l];arr[l] = arr[r];arr[r] = temp;}
}
  • 时间复杂度:O(nlogn),建堆的时间代价是 O(n),删除的总代价是 O(klogn),因为 k<n,故渐进时间复杂为 O(n+klogn)=O(nlogn)。
  • 空间复杂度:O(logn),即递归使用栈空间的空间代价。

五、K个一组翻转链表(25)

题目描述:

给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。

k 是一个正整数,它的值小于或等于链表的长度。

如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。

进阶:

你可以设计一个只使用常数额外空间的算法来解决此问题吗?
你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

示例:

输入:head = [1,2,3,4,5], k = 2
输出:[2,1,4,3,5]输入:head = [1,2,3,4,5], k = 1
输出:[1,2,3,4,5]

解法:

需要把链表节点按照 k 个一组分组,所以可以使用一个指针 head 依次指向每组的头节点。这个指针每次向前移动 k 步,直至链表结尾。对于每个分组,我们先判断它的长度是否大于等于 k。若是,我们就翻转这部分链表,否则不需要翻转。反转链表的思路和方法与之前的一致。

对于一个子链表,除了翻转其本身之外,还需要将反转后的子链表的头部与上一个子链表连接,以及子链表的尾部与下一个子链表连接,如下图所示:

image-20210507152555199

因此,在翻转子链表的时候,我们不仅需要子链表头节点 head,还需要有 head 的上一个节点 pre,以便翻转完后把子链表再接回 pre,同理还需要一个节点来保存待反转链表的后一个节点,以便反转之后将子链表接回原链表。

但是对于第一个子链表,它的头节点 head 前面是没有节点 pre 的。所以新建一个节点 hair,把它接到链表的头部,让 hair 作为 pre 的初始值,这样 head 前面就有了一个节点。

反复移动指针 headpre,对 head 所指向的子链表进行翻转,直到结尾。

对于最终的返回结果,定义的hair一开始被连接到了头节点的前面,而无论之后链表有没有翻转,hairnext 指针都会指向正确的头节点。故只要返回hair的下一个节点即可。

图解全思路:

假设k==2

image-20210507153012100 image-20210507153030190 image-20210507153413850 image-20210507153449883 image-20210507153522920 image-20210507153550534 image-20210507153659021

注意:tail的值是根据pre来确定的,pre在每次交换之后确定,然后才能确定tail。

代码实现:

class Solution {public ListNode reverseKGroup(ListNode head, int k) {ListNode hair = new ListNode(); //创建虚拟头节点hair.next = head;ListNode pre = hair; //pre成为head的前一个节点//刚开始只确定了prewhile (head != null) {ListNode tail = pre; //tail表示待反转链表的尾节点,一开始为head的前一个节点//查看以head为头节点的剩余部分长度是否大于等于k//并且移动tail至待反转链表的尾节点for (int i = 0; i < k; ++i) {tail = tail.next;//tail会成为待反转链表的尾节点,所以根据tail确定长度if (tail == null) {return hair.next;}}//要求一开始tail必须是head的前一个节点,只有这样,移动k次tail才会成为待反转链表的尾节点,如果一开始tail==head,移动k次之后,tail会成为待反转链表的尾节点的后一个节点ListNode nex = tail.next; //保留待反转链表的尾节点的后一个节点,防止断开//接下来开始反转head→tail的链表,调用之前的反转链表的方法//反转方法的返回值成为head,而反转后的tail是未反转时的head//所以将未反转时的head保存起来ListNode temp = head;head = reverseList(head, tail); //反转以后的头节点是headtail = temp; //反转后的tail是未反转时的head//把子链表重新接回原链表pre.next = head;tail.next = nex;//将pre和head移至下一组待反转的链表pre = tail;head = nex;}return hair.next;}//反转方法//第二个参数的唯一作用是确定最后一个节点的临界值,思路仍与之前一致public ListNode reverseList(ListNode head, ListNode tail) {//将递归进行到最后一个节点if(head == tail) {return head;}//cur是最后一个节点,cur的值不再改变//head是倒数第二个节点时最后一次递归返回的就是最后一个节点ListNode cur = reverseList(head.next, tail);//4.next.next = 4;代表5指向4head.next.next = head;//防止5与4构成循环,不需要让4指向5head.next = null;//每层递归都返回不变的cur值,也就是最后一个节点return cur;}
}

时间复杂度:O(n)(尾节点会将链表所有节点走一次),空间复杂度O(1)

六、两数之和(1)

题目描述:

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。如:

image-20210426202606308

1. 一遍哈希表

思路:

创建一个哈希表,存放数组的元素值及对应的索引值,遍历数组,将数组元素及对应的索引值放入哈希表中,一旦发现 target - nums[i] 在哈希表中存在,停止遍历,得到结果

HashMap中需要了解的方法:

boolean containsKey(key); 判断哈希表中是否存在此键所构成的映射关系

Object get(key); 返回此key对应的value值

put(key, value); 向哈希表中存放键值对

代码实现:

public class Solution {public int[] twoSum(int[] numbers, int target) {int[] result = new int[2];HashMap<Integer, Integer> map = new HashMap<>();for(int i = 0; i < numbers.length; i++) {if(map.containsKey(target - numbers[i])) {result[1] = i;result[0] = map.get(target - numbers[i]);return result;}map.put(numbers[i], i);}return result;}
}

时间复杂度O(n),只遍历了包含有n个元素的列表一次,在表中进行的每次查找只花费 O(1) 的时间

空间复杂度O(n),所需的额外空间取决于哈希表中存储的元素数量,该表最多需要存储n个元素

2. 两遍哈希表

思路:

创建一个哈希表,第一遍遍历数组将数组中的所有元素放入哈希表,第二遍遍历数组在哈希表中找是否存在target - nums[i]值,注意:由于第一遍会把所有值均放入哈希表,若target值为8,则4+4=8,但需要两个元素的值为4,而不是一个4本身加两次,故哈希表中取出的值不能是本身

代码实现:

class Solution {public int[] twoSum(int[] nums, int target) {Map<Integer, Integer> map = new HashMap<>();for (int i = 0; i < nums.length; i++) {map.put(nums[i], i);}for (int i = 0; i < nums.length; i++) {int complement = target - nums[i];if (map.containsKey(complement) && map.get(complement) != i) {return new int[] { i, map.get(complement) };}}throw new IllegalArgumentException("No two sum solution");}
}

时间复杂度O(n),把包含有n个元素的列表遍历两次,由于哈希表将查找时间缩短到 O(1) ,所以时间复杂度为O(n)

空间复杂度O(n),所需的额外空间取决于哈希表中存储的元素数量,该表中存储了n个元素

七、三数之和(15)

题目描述:

给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组,如下图所示:

image-20210601232849035

思路:

首先将给定的数组排序,然后在数组中从头开始固定一个数,利用双指针遍历数组中除此数之外的其余数,在其中找其余两个满足条件的数。

具体过程:

(1) 调用Arrays.sort对数组排序

(2) 在for循环遍历数组中固定数nums[i],使用左右指针指向nums[i]后面数的左右两端,分别为nums[L] 和 nums[R],判断三个数和是否为0,满足则添加到结果集

(3) 如果nums[i] > 0,则三数之和必然大于0 (nums[i]之后的数一定比他大),结束循环

(4) 如果nums[i] == nums[i - 1],会出现重复情况,应该跳过(遍历到末尾时如果比较i与i+1,会导致越界,故比较i - 1)

(5) 如果三数之和sum == 0时,nums[L] == nums[L + 1],会导致结果重复,L++

(6) 如果三数之和sum == 0时,nums[R] == nums[R - 1],会导致结果重复,R–

注意:一旦sum == 0就会L++及R-- (在5、6步的基础上执行,可以跳过重复项)

nums[i]有两种情况需讨论,sum == 0时有两种情况需讨论

代码实现:

class Solution {public static List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> result = new ArrayList()<>;//特殊条件判断int len = nums.length;if(nums == null || len < 3) return result;Arrays.sort(nums); // 一定要记得对数组排序for (int i = 0; i < len ; i++) { // 先判断nums[i],如果不满足,则无需创建L和R指针if(nums[i] > 0) break; // 当前数字大于0,结束循环if(i > 0 && nums[i] == nums[i-1]) continue; // 去重,必须要求i > 0,否则i - 1越界 //定义剩余元素的左右指针int L = i+1;int R = len-1;while(L < R){int sum = nums[i] + nums[L] + nums[R];if(sum == 0){result.add(Arrays.asList(nums[i],nums[L],nums[R]));while (L<R && nums[L] == nums[L+1]) L++; // 去重while (L<R && nums[R] == nums[R-1]) R--; // 去重L++;R--;}else if (sum < 0) L++; // 不要忘记这两种判断else if (sum > 0) R--;}}return result;}
}
image-20210602125135357

八、环形链表II(142)

题目描述:

给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。

image-20210601103600143

1. 哈希表

思路:

遍历节点时使用哈希表记录节点的地址,如果地址没有重复的说明链表中没有环,如果哈希表中的地址有重复的,说明有环,把重复元素返回即可

代码实现:

class Solution {public ListNode detectCycle(ListNode head) {Set<ListNode> nodesSeen = new HashSet<>();while (head != null) {if (nodesSeen.contains(head)) {return head;} else {nodesSeen.add(head);}head = head.next;}return null; //如果没有环,则一定会跳出while循环}
}
  • 时间复杂度:O(N)
  • 空间复杂度:O(N)

2. 快慢指针

思路:

使用两个指针,fast 与 slow。它们起始都位于链表的头部。随后,slow 指针每次向后移动一个位置,而 fast 指针向后移动两个位置。如果链表中存在环,则 fast 指针最终将再次与指针在环中相遇。一旦 fast == null,说明链表中没有环,返回null即可。

如下图所示,设链表中环外部分的长度为 a。slow 指针进入环后,又走了 b 的距离与 fast 相遇。假设此时,fast 指针已经走完了环的 n 圈,因此它走过的总距离为 a + n(b+c) + ba + (n+1)b +nc

image-20210510105632156

根据题意,任意时刻,fast 指针走过的距离都为 slow 指针的 2 倍。因此,可以得到如下的推导过程:
a + (n+1)b + nc = 2(a+b)a = c + (n−1)(b+c)。(slow指针无需在环中循环,第一圈就会与fast指针相遇)

有了上述的的等量关系,可以发现:从相遇点到入环点的距离加上 n−1 圈的环长,恰好等于从链表头部到入环点的距离,因此,当发现 slow 与 fast 相遇时,再额外使用一个指针 ptr。

起始,ptr指向链表头部;随后,它和 slow 每次向后移动一个位置,那么 slow 走了 c 的距离之后,ptr 到环入口的距离只剩整 n - 1 圈的距离了,而且此时慢指针也刚好走到入口处了,这时,只要二者一起走完 n - 1 圈的距离之后就会相遇(无法确定n的大小,只要通过循环不停的让二者向后移动一个位置,一定会相遇),而且相遇点正好是入口,返回 ptr 指向的节点即可。

代码实现:

public class Solution {public ListNode detectCycle(ListNode head) {if (head == null) {return null;}ListNode slow = head, fast = head;while (fast != null) { //如果fast == null,一定没有环slow = slow.next;if (fast.next != null) { //防止空指针异常fast = fast.next.next;} else { //fast的下一个节点 == null,一定没有环return null;}//快慢指针相遇,定义ptr指针if (fast == slow) {ListNode ptr = head;//ptr和慢指针一起向后移动一个位置while (ptr != slow) {ptr = ptr.next;slow = slow.next;}//ptr与慢指针相遇,返回ptr即可return ptr;}}return null;}
}
image-20210510125408888

九、环形链表(141)

题目描述:

给定一个链表,判断链表中是否有环,如下图所示:

image-20210601103638119

1. 哈希表

思路:

思路与 “链表中环的入口节点” 题目一致,仅返回值不同,不再赘述

代码实现:

class Solution {public boolean hasCycle(ListNode head) {Set<ListNode> nodesSeen = new HashSet<>();while (head != null) {if (nodesSeen.contains(head)) {return true;} else {nodesSeen.add(head);}head = head.next;}return false; //如果没有环,则一定会跳出while循环}
}

2. 快慢指针

思路及代码实现见题目 “链表中环的入口节点”,仅返回值不同,不再赘述。

注意:快慢指针相遇后即可返回true,无需再去定义一个新的节点随慢指针移动。

public class Solution {public boolean hasCycle(ListNode head) {if (head == null) {return false;}ListNode slow = head, fast = head;while (fast != null) { //fast == null,一定没有环slow = slow.next;if (fast.next != null) { //防止空指针异常fast = fast.next.next;} else { //fast的下一个节点 == null,一定没有环return false;}//快慢指针相遇,说明有环if (fast == slow) {return true;}}return false;}
}

十、合并两个有序链表(21)

题目描述:

将两个升序链表合并为一个新的升序链表并返回,新链表是通过拼接给定的两个链表的所有节点组成的

image-20210502192204894

1. 递归

思路:

从两个链表的头节点开始,依次比较大小,较小节点要指向其余节点,持续直到有一方的next为空时,将另一个链表的此时指向的节点返回(这些剩余的节点一定是最大的),继续依次返回,直到所有节点都返回成功

image-20210502192310945

代码实现:

class Solution {public ListNode mergeTwoLists(ListNode l1, ListNode l2) {if (l1 == null) {return l2;}else if (l2 == null) {return l1;}else if (l1.val < l2.val) { //不能先判断l1.val,如果l1==null,会出现空指针异常l1.next = mergeTwoLists(l1.next, l2);return l1;}else {l2.next = mergeTwoLists(l1, l2.next);return l2;}}
}
image-20210502192353025

2. 迭代

思路:

创建一个新链表(头节点是prehead,辅助节点是prev),当l1和l2都不是空链表时,判断哪一个链表的头节点的值更小,将较小值的节点添加到prev的后面并将prev后移一位(由于链表无法直接定位到一个节点,所以必须使用一个指针指向待操作节点),当一个节点被添加到新链表之后,将对应链表中的节点向后移一位,且无论哪一个元素接在了prev后面,都需要将prev后移一位,循环终止时,两个链表中至多有一个是非空的,且剩余的元素一定是最大的,接在prev之后即可。

代码实现:

public ListNode mergeTwoLists(ListNode l1, ListNode l2) {ListNode prehead = new ListNode();ListNode prev = prehead;while (l1 != null && l2 != null) {if (l1.val <= l2.val) {prev.next = l1;l1 = l1.next;} else {prev.next = l2;l2 = l2.next;}prev = prev.next;}prev.next = l1 == null ? l2 : l1; // 一定要记得将剩余元素添加到prev之后return prehead.next;
}
image-20210502192456586
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Git基础笔记

    1.版本控制 用于管理多人协同开发项目的技术 常见的版本控制器&#xff1a; git svn ​ 版本控制分为三类 分别为本地版本控制 集中版本控制 分布式版本控制 ​ 本地版本控制 记录文件每次的更新&#xff0c;可以对每个版本做一个快照&#xff0c;或是记录补丁文件&#x…...

    2024/4/20 17:50:18
  2. AlarmEmitter.addListener 无反应

    问题场景 在reactnative&Android项目中&#xff0c;建立了event监听&#xff0c;在Java层快速发送很多个event&#xff0c;导致监听器直接无反应 问题分析&#xff1a; 1.降低event反馈次数及频率后&#xff0c;监听器反应正常 2.怀疑&#xff1a;1.监听器无法接受高频次…...

    2024/5/5 6:57:50
  3. C++矩阵类

    矩阵类的要求&#xff1a; 设计一个二维矩阵类成员变量为double*类型&#xff0c;用来存储矩阵中的元素写出赋值运算符重载(包括&#xff0c;-&#xff0c;*)&#xff0c;拷贝构造函数和构造函数实现矩阵的转置操作实现矩阵的逆求解实现矩阵的行列式运算矩阵的加减乘操作利用&…...

    2024/4/16 6:19:29
  4. sizeof()求数组长度

    求数组长度 首先要知道一点 数组名就是数组首元素的地址 但是&#xff0c;有两个例外 sizeof(数组名) 数组名表示整个数组&#xff0c;计算的是整个数组的大小 &数组名 数组名表示整个数组&#xff0c;取出的是整个数组的地址 对于一维数组arr[] 确定数组长度&#x…...

    2024/4/17 7:57:16
  5. Redis查询缓存与延时双删的实际应用(Golang)

    Redis查询缓存与延时双删的实际应用(Golang) 有个小项目&#xff0c;需要弄个树型单词分类&#xff0c;虽然客户那边访问量不大&#xff0c;崩是不可能崩的。但是数据量大了以后&#xff0c;每次打开这个页面都要等个一两秒&#xff0c;属实有点难受。就想着用缓存来装这颗树。…...

    2024/4/18 13:13:48
  6. DRG 与 ICD10 编码相关论文阅读分享

    DRG 与 ICD10 编码相关论文阅读分享 相关概念 关于DRG 疾病诊断相关分组&#xff08;Diagnosis-Related Groups&#xff0c;DRG&#xff09;诞生于上世纪60 年代末的美国。上世纪80 年代&#xff0c;美国率先将DRG 用于医疗保险定额支付&#xff0c;现今多数发达国家社会医疗…...

    2024/4/7 15:30:20
  7. 干了六年Android开发现在裸辞失业了,再过2个月就30了,该怎么继续生活

    首先介绍一下主人公的情况。目前所在的是一家小的创业公司&#xff0c;待了3年多&#xff0c;薪资一般吧&#xff0c;之前在一家中型上市企业也干了三年&#xff0c;因为想涨薪所以跳到现在这家小公司。 就在年前&#xff0c;公司年终总结&#xff0c;公司老板会和各组负责人找…...

    2024/4/5 4:39:58
  8. 带你手把手讲解一个复杂动效的自定义绘制,搞懂开源框架设计思想真的这么重要吗

    开始拆解 1、绘制区域是一个心形 2、波浪从最下面开始&#xff0c; 逐渐用绿色填充了整个心形 3、中间有文字内容“ 一条大灰狼”,并且在波浪增长的过程中&#xff0c;文字存在一段时间的上下两部分 颜色不同的状态. 本案例用到的知识点&#xff1a; 1、 canvas.clipPath 画布裁…...

    2024/4/14 10:00:25
  9. Spark基本概念

    Spark核心组件 Driver 将用户程序转化为作业&#xff08;job&#xff09;在Executor之间调度任务(task)跟踪Executor的执行情况通过UI展示查询运行情况Executor Spark Executor是集群中工作节点&#xff08;Worker&#xff09;中的一个JVM进程&#xff0c;负责在 Spark 作业…...

    2024/4/14 10:00:50
  10. Spring01-简介

    1. 简介 spring理念&#xff1a;是现有的技术更加容易使用&#xff0c;本身是一个大杂烩。 SSH&#xff1a;Struct2 Spring HibernateSSM: SpringMVC Spring Mybatis 官网&#xff1a; https://spring.io/projects/spring-framework#overview 官方下载&#xff1a; htt…...

    2024/4/14 10:00:50
  11. PLC系统的选型技巧

    在PLC系统设计时&#xff0c;首先应确定系统方案&#xff0c;下一步工作就是PLC的设计选型。选择PLC&#xff0c;主要是确定PLC的生产厂家和PLC的具体型号。对于系统方案要求有分布式系统、远程I/O系统&#xff0c;还需要考虑网络化通讯的要求。那么具体应该如何选择PLC呢? 1、…...

    2024/4/23 14:50:11
  12. 赵小楼《天道》《遥远的救世主》深度解析(77)叶、冯、刘三人用了丁元英,就用了他的一切,没有能力的时候还谈什么缘,攀缘没有对错,起码得先活着

    本文是《天道》解读系列按《遥远的救世主》小说情节深度解析的第77集&#xff0c;解读完后会按《天道》电视剧不同于小说部分的情节再补充解读&#xff0c;然后会出专题解读系列&#xff0c;整体共约160集以上。 关注赵小楼&#xff0c;与10000人一起重读天道&#xff0c;学习…...

    2024/4/14 10:00:50
  13. 【一】、初识微服务和SpringCloud

    微服务架构与SpringCould 1.了解微服务架构 微服务&#xff1a;系统架构上的一种设计风格微服务的主旨&#xff1a;是将一个原本独立的系统拆分成多个小型服务&#xff0c;这些小型服务都在各自独立的进程中运行&#xff0c;服务之间一般通过Http的RESTful API进行通信协作 小…...

    2024/4/14 10:00:50
  14. 82.网络安全渗透测试—[SQL注入篇21]—Oracle+JSP-pipe.receive_message延时注入

    我认为&#xff0c;无论是学习安全还是从事安全的人&#xff0c;多多少少都有些许的情怀和使命感&#xff01;&#xff01;&#xff01; 文章目录一、OracleJSP 延时注入1、简介2、注入技巧二、pipe.receive_message 延时注入示例1、判断是否存在注入2、猜解长度并逐个猜解字符…...

    2024/4/14 10:00:20
  15. 从头开始写STM32F103C8T6驱动库(三)——编写GPIO驱动

    系列文章目录 Github开源地址 从头开始写STM32F103C8T6驱动库&#xff08;一&#xff09;——STM32CubeMX创建并调整工程结构 从头开始写STM32F103C8T6驱动库&#xff08;二&#xff09;——编写系统初始化程序&#xff0c;配置时钟树 从头开始写STM32F103C8T6驱动库&#xff…...

    2024/4/18 4:06:14
  16. 机器学习基础(二)

    机器学习基础实验报告 实验二&#xff1a; 一、实验目的 学习Gluon基础语法学习如何使用MXNet提供的Gluon接口更方便地实现线性回归的训练学习通过使用训练集图像训练多层神经网络模型&#xff0c;并利用该模型在测试集上预测手写数字类别&#xff0c;输出分类准确率&#x…...

    2024/4/20 11:28:58
  17. GitLab配置maven Repository仓库使用

    目前没有看到简单介绍gitlab当maven存储库的资料。于是整理了一篇&#xff0c;方便有需要的朋友少走弯路。 1.在gitlab创建一个新的安卓项目&#xff0c;在项目中选择“设置”-“仓库”-“部署令牌”-填入相关信息-创建部署令牌 填完之后会生成 &#xff0c;token令牌**&#…...

    2024/4/17 20:48:30
  18. (66)C#里怎么样实现对目录的遍历?

    (66)C#里怎么样实现对目录的遍历? 在C#的开发过程中,经常需要对目录进行遍历,比如把一个目录下所有的文件进行拷贝到别的地方,又或者把一个目录下所有的MP3歌曲收集起来进行播放,又或者对整个目录的文件进行压缩处理。显然对目录的遍历是经常会遇到的事情,所以掌握这个…...

    2024/4/14 10:01:26
  19. 6.6 最短路径问题(BFS遍历无权图的单源最短路径、Dijkstra最短路径算法、Floyd算法实例)

    0. 最短路径问题1. BFS求无权图的单源最短路径 1.1 BFS遍历代码实现1.2 BFS查找最短路径代码实现1.3 知识回顾 2. Dijkstra最短路径算法 2.1 BFS算法的局限性2.2 Dijkstra算法流程2.3 如何使用数组信息&#xff1f;2.4 Dijkstra算法的时间复杂度2.5 Dijkstra算法不适用于有负权…...

    2024/4/14 10:01:16
  20. 各种云centos7安装mysql

    一. 安装步骤 1、下载包&#xff1a; wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm2、安装 rpm. yum -y install mysql57-community-release-el7-10.noarch.rpm3、安装MySQL 服务&#xff08;使用 yum install xxx.rpm --nogpgcheck跳…...

    2024/4/27 2:27:33

最新文章

  1. 等保测评考试重点题库分享上

    一、单选题 1、下列不属于网络安全测试范畴的是&#xff08;C&#xff09; A&#xff0e;结构安全 B.便捷完整性检查 C.剩余信息保护 D.网络设备防护 2、下列关于安全审计的内容说法中错误的是&#xff08;D&#xff09; A&#xff0e;应对网络系统中的网络设备运行情况、网…...

    2024/5/5 14:50:33
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 第十二届蓝桥杯省赛真题(C/C++大学B组)

    目录 #A 空间 #B 卡片 #C 直线 #D 货物摆放 #E 路径 #F 时间显示 #G 砝码称重 #H 杨辉三角形 #I 双向排序 #J 括号序列 #A 空间 #include <bits/stdc.h> using namespace std;int main() {cout<<256 * 1024 * 1024 / 4<<endl;return 0; } #B 卡片…...

    2024/5/4 16:36:43
  4. Django实现的登录注册功能

    1 前言 在Web开发中&#xff0c;用户登录和注册是最基本且必不可少的功能。Django&#xff0c;作为一个高级的Python Web框架&#xff0c;为我们提供了强大的工具和库来快速实现这些功能。下面&#xff0c;我将详细介绍如何使用Django来实现用户登录和注册功能。 2 功能介绍 …...

    2024/5/5 8:36:26
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/4 23:55:17
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/4 18:20:48
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57