自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 桥连接、NAT、主机模式三种形式说明

下面引用自尚硅谷的概念1.桥连接虚拟机可以和其他的系统通信,但是可能造成ip冲突2. NAT网络地址转换方式:虚拟机可以访问外网,不会造成ip冲突3. 主机模式虚拟机是一个独立主机,不能访问外网。...

2021-05-30 16:35:41 150

原创 2.12 bug记录

记录三个在学习ssm发生的错误1. mapper.xml中的parameterType与parameterMap, resultType与resultMap注意不要写错。<mapper namespace="yang.mapper.AccountMapper"> <insert id="save" parameterType="account"> insert into account values(#{id},#{name},#{money})

2021-02-12 21:38:07 125

原创 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件

一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件解决方案在启动Tomcat服务器时发生了如下问题:原因可能是maven项目里面不存在spring-web的包解决方案首先确定在pom.xml文件中导入了spring-web包打开ideafile 下的Project Structure发现架构的·里面不存在spring-web的...

2021-01-18 19:54:45 12732 1

转载 659. 分割数组为连续子序列-中等-哈希表+小顶堆(贪心)

659. 分割数组为连续子序列-中等-哈希表+小顶堆(贪心)给你一个按升序排序的整数数组 num(可能包含重复数字),请你将它们分割成一个或多个子序列,其中每个子序列都由连续整数组成且长度至少为3 。如果可以完成上述分割,则返回true;否则,返回 false。示例 1:输入: [1,2,3,3,4,5]输出: True解释:你可以分割出这样两个连续子序列 : 1, 2, 33, 4, 5示例 2:输入: [1,2,3,3,4,4,5,5]输出: True解释:你可以分割出这样

2020-12-05 16:01:20 103

原创 # 148. 排序链表-中等-链表、归并排序

148. 排序链表-中等-链表、归并排序给你链表的头结点head,请将其按 升序 排列并返回 排序后的链表 。进阶:你可以在O(n log n)时间复杂度和常数级空间复杂度下,对链表进行排序吗?示例 1:输入:head = [4,2,1,3]输出:[1,2,3,4]示例 2:输入:head = [-1,5,3,4,0]输出:[-1,0,3,4,5]示例 3:输入:head = []输出:[]提示:链表中节点的数目在范围[0, 5 * 104] 内-105 <= N

2020-11-21 16:02:53 85

原创 147. 对链表进行插入排序-中等-链表、插入排序

147. 对链表进行插入排序-中等-链表、插入排序对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。示例 1:输入: 4-&gt

2020-11-20 19:54:42 84

原创 # 283. 移动零-简单-双指针

283. 移动零-简单-双指针给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。题解无奈没想到好方法,只能用暴力法解了。思路是遍历到0,就把之后的元素前移一格,然后再从当前点开始遍历。class Solution { public void moveZeroes(int[] nums) {

2020-11-19 15:01:18 92

原创 134. 加油站-中等-脑筋急转弯

134. 加油站-中等-脑筋急转弯在一条环路上有 N 个加油站,其中第i个加油站有汽油 gas[i]升。你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗汽油cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回-1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非负数。示例 1:输入: gas = [1,2,3,4,5]cost = [3,4

2020-11-18 17:11:12 390 1

原创 406. 根据身高重建队列-中等-脑筋急转弯

406. 根据身高重建队列-中等-脑筋急转弯假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总人数少于1100人。示例输入:[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]输出:[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]题解这题标签里面带脑筋急转弯就很离谱,不过确实想不出来,只能想

2020-11-16 14:43:01 115

原创 402. 移掉K位数字-中等-贪心算法

402. 移掉K位数字-中等-贪心算法给定一个以字符串表示的非负整数num,移除这个数中的` k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。示例 1 :输入: num = "1432219", k = 3输出: "1219"解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。示例 2 :输入: num = "10200", k = 1输出: "200"解释: 移掉首位的 1 剩下的数字为

2020-11-15 18:42:53 115

原创 1122. 数组的相对排序-简单-数组排序

1122. 数组的相对排序-简单-排序给你两个数组,arr1 和 arr2,arr2 中的元素各不相同arr2 中的每个元素都出现在 arr1 中对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。示例:输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]输出:[2,2,2,1,4,3,3,9,6,7,19]提示:-arr1

2020-11-14 21:38:38 197

原创 328. 奇偶链表-中等-链表的合并

328. 奇偶链表-中等-链表的合并给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->5->2->4->NULL示例 2:输入: 2->1->3-

2020-11-13 22:09:23 339

原创 922. 按奇偶排序数组 II-简单-数组、排序

922. 按奇偶排序数组 II-简单-数组、排序给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当 A[i] 为奇数时,i也是奇数;当 A[i] 为偶数时, i也是偶数。你可以返回任何满足上述条件的数组作为答案。示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。提示:2 <= A.length <= 20000A.length % 2 == 00 &l

2020-11-12 11:34:44 84

原创 31. 下一个排列-中等-数组

31. 下一个排列-中等-数组实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1题解此题有点不太说人话,此处附上一个评论,一看就懂:题干的意思是:找出这个数组排序出的所有数中,刚好比当前数大的那个数比如当前 nu

2020-11-10 14:42:11 80

原创 973. 最接近原点的 K 个点-中等-排序、快排

973. 最接近原点的 K 个点-中等-排序、快排我们有一个由平面上的点组成的列表 points。需要从中找出 K个距离原点(0, 0)最近的点。(这里,平面上两点之间的距离是欧几里德距离。)你可以按任何顺序返回答案。除了点坐标的顺序之外,答案确保是唯一的。示例 1:输入:points = [[1,3],[-2,2]], K = 1输出:[[-2,2]]解释: (1, 3) 和原点之间的距离为 sqrt(10),(-2, 2) 和原点之间的距离为 sqrt(8),由于 sqrt(8) &

2020-11-09 11:09:43 152

原创 3. 无重复字符的最长子串-中等-字符串、滑动窗口、哈希表

3. 无重复字符的最长子串-中等-字符串、滑动窗口、HashSet给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你

2020-11-08 15:37:53 72

原创 122. 买卖股票的最佳时机 II-简单-动态规划、贪心算法

122. 买卖股票的最佳时机 II-简单-动态规划、贪心算法给定一个数组,它的第i个元素是一支给定股票第i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4

2020-11-08 10:18:47 114

原创 1356. 根据数字二进制下 1 的数目排序-简单-sort的使用

1356. 根据数字二进制下 1 的数目排序-简单-sort的使用给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字1的数目升序排序。如果存在多个数字二进制中 1的数目相同,则必须将它们按照数值大小升序排列。请你返回排序后的数组。示例 1:输入:arr = [0,1,2,3,4,5,6,7,8]输出:[0,1,2,4,8,3,5,6,7]解释:[0] 是唯一一个有 0 个 1 的数。[1,2,4,8] 都有 1 个 1 。[3,5,6] 有 2 个 1 。[7] 有 3

2020-11-07 11:25:33 174

原创 127. 单词接龙-中等-图、BFS、字符串

127. 单词接龙-中等-图、BFS、字符串给定两个单词(beginWord 和endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复的单词。你可以假设beginWord 和 endWord 是非空的,且二者不相同。示例 1:输入:begin

2020-11-07 11:09:39 102

原创 57. 插入区间-困难-数组、区间

57. 插入区间-困难-数组、区间给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 1:输入:intervals = [[1,3],[6,9]], newInterval = [2,5]输出:[[1,5],[6,9]]示例 2:输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]输出:[[1,2],

2020-11-07 10:56:35 138

原创 941. 有效的山脉数组-简单-数组

941. 有效的山脉数组-简单-数组给定一个整数数组 A,如果它是有效的山脉数组就返回true,否则返回 false。让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:A.length >= 3在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < ... A[i-1] < A[i]A[i] > A[i+1] > ... > A[A.length - 1]示例 1:输入:[

2020-11-07 10:45:57 67

原创 349. 两个数组的交集-简单-数组、set

349. 两个数组的交集-简单-数组、set给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。题解思路:通过两个哈希表存储这两个数组;遍历其中一个set,两个都存在的放到一个新的set/list里面;遍历新的se

2020-11-07 10:39:59 105

原创 139. 单词拆分-中等-动态规划、字符串

139. 单词拆分-中等-动态规划、字符串给定一个非空字符串s和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以被拆分成 "leet code"。示例 2:输入: s = "applepen

2020-11-06 19:23:48 67

原创 463. 岛屿的周长-简单-图、DFS

463. 岛屿的周长-简单-图、DFS给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。示例 :输入:[[0,1,0,0], [1,1,1,0], [0,1,0,

2020-11-06 10:57:58 126

原创 2. 两数相加-中等-链表求和

2. 两数相加-中等-链表给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807题解此题为对链表的考查,并不难,但需要

2020-11-06 10:44:06 72

原创 129. 求根到叶子节点数字之和-中等-DFS、树的遍历

129. 求根到叶子节点数字之和给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 25解释:从根到叶子节点路径 1->2 代表数字 12.从根到叶子节点路径 1->3 代表数字 13.因此,数字总和 =

2020-11-05 19:01:28 101

原创 1207. 独一无二的出现次数-简单-map和set的使用

1207. 独一无二的出现次数-简单-map和set的使用给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。示例 1:输入:arr = [1,2,2,1,1,3]输出:true解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。示例 2:输入:arr = [1,2]输出:false示例 3:输入:arr = [-3,0,1,-3,1,1,1,

2020-11-05 18:29:13 80

原创 55.跳跃游戏-中等-贪心算法

55.跳跃游戏-中等-贪心算法给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后

2020-11-05 14:52:21 71

原创 1024.视频拼接-中等-贪心算法

你将会获得一系列视频片段,这些片段来自于一项持续时长为T秒的体育赛事。这些片段可能有所重叠,也可能长度不一。视频片段clips[i]都用区间进行表示:开始于clips[i][0]并于 clips[i][1]结束。我们甚至可以对这些片段自由地再剪辑,例如片段[0, 7]可以剪切成[0, 1] + [1, 3] + [3, 7]三部分。我们需要将这些片段进行再剪辑,并将剪辑后的内容拼接成覆盖整个运动过程的片段([0, T])。返回所需片段的最小数目,如果无法完成该任务,则返回 -1 。示例 1:输入:c

2020-11-05 14:20:53 4367

原创 144.二叉树的前序遍历-中等-树的遍历、非递归遍历

144.二叉树的前序遍历-中等-树的遍历、非递归遍历给你二叉树的根节点 root ,返回它节点值的 前序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]提示:树中节点数目在范围[0, 100]内-100 <= Node.val <= 100题解递归方式的前序遍历没什么好说的/** * Definition for a bi

2020-11-05 11:29:55 81

原创 845.数组中最长的山脉-中等-数组山脉、动态规划

845.数组中最长的山脉-中等-数组山脉、动态规划我们把数组 A 中符合下列属性的任意连续子数组 B 称为 “山脉”:B.length >= 3存在 0 < i < B.length - 1使得 B[0] < B[1] < ... B[i-1] < B[i] > B[i+1] > ... > B[B.length - 1](注意:B 可以是 A 的任意子数组,包括整个数组 A。)给出一个整数数组 A,返回最长 “山脉” 的长度。如果不含有

2020-11-05 11:19:52 120

原创 1365. 有多少小于当前数字的数字-简单-数组、排序

1365. 有多少小于当前数字的数字-简单-数组、排序给你一个数组nums,对于其中每个元素nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个nums[i] 你必须计算出有效的j的数量,其中j满足j != i且 nums[j] < nums[i] 。以数组形式返回答案。示例 1:输入:nums = [8,1,2,2,3]输出:[4,0,1,1,3]解释: 对于 nums[0]=8 存在四个比它小的数字:(1,2,2 和 3)。 对于 nums[1]=1 不存在比

2020-11-05 10:55:53 194

原创 834. 树中距离之和-困难-树、图、动态规划、深度优先搜索

834. 树中距离之和-困难给定一个无向、连通的树。树中有 N 个标记为 0...N-1 的节点以及 N-1条边 。第i 条边连接节点 edges[i][0] 和 edges[i][1] 。返回一个表示节点 i 与其他所有节点距离之和的列表 ans。示例 1:输入: N = 6, edges = [[0,1],[0,2],[2,3],[2,4],[2,5]]输出: [8,12,6,10,10,10]解释: 如下为给定的树的示意图: 0 / \1 2 /|\ 3 4 5

2020-11-05 10:32:06 144

原创 57. 插入区间-困难-区间划分

57. 插入区间-困难-区间划分给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 1:输入:intervals = [[1,3],[6,9]], newInterval = [2,5]输出:[[1,5],[6,9]]示例 2:输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]输出:[[1,2],[

2020-11-05 10:14:31 355

原创 1. 两数之和-简单-map与set的使用

1. 两数之和-简单-map与set的使用给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题解利用哈希表快速查找到所需要的两个值。思路:在循环中把数和下标存入哈希表中在哈希

2020-11-05 10:05:55 181

原创 701. 二叉搜索树中的插入操作-中等-

701. 二叉搜索树中的插入操作-中等题目描述给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果 。示例1:输入:root = [4,2,7,1,3], val = 5输出:[4,2,7,1,3,5]解释:另一个满足题目要求可以通过的树是:示例2:输入:root = [40,

2020-11-04 11:06:46 92

原创 62. 不同路径-中等-动态规划

62. 不同路径-中等-动态规划题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?题解令dp[i][j] 是到达 i, j 最多路径动态方程:dp[i][j] = dp[i-1][j] + dp[i][j-1]注意,对于第一行 dp[0][j],或者第一列dp[i][

2020-11-04 10:51:36 99

原创 145.二叉树的后序遍历-中等-dfs

145.二叉树的后序遍历-中等-dfs题目描述给定一个二叉树,返回它的 后序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]题解dfs递归/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; *

2020-09-30 08:06:36 58

原创 113. 路径总和 II-中等-树的BFS、DFS

113. 路径总和 II-中等-树的DFS给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:[ [5,4,11,2], [5,8,4,5]]

2020-09-26 10:31:25 85

原创 78.子集-中等-回溯算法

78.子集-中等关键词:回溯算法、集合题目描述:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]题解:基本就是官方的答案了,不过还是记录一下方法一:迭代法,即通过遍历的方式添加子集到ans集合中。不过遍历的方式为,000,001,…,111

2020-09-20 20:19:17 101

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除