自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

搓搓那年时光静好

记录点点滴滴

  • 博客(429)
  • 资源 (55)
  • 收藏
  • 关注

原创 572. 另一棵树的子树

给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。输入:root = [3,4,5,1,2], subRoot = [4,1,2]输出:true输入:root = [3,4,5,1,2,null,null,null,null,0],.

2022-01-13 10:34:01 128

原创 100. 相同的树

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。输入:p = [1,2,3], q = [1,2,3]输出:true输入:p = [1,2], q = [1,null,2]输出:false输入:p = [1,2,1], q = [1,1,2]输出:false/** * Definition for a binary tree node. * pu..

2022-01-13 01:12:08 98

原创 226. 翻转二叉树

翻转一棵二叉树。 4 / \ 2 7 / \ / \1 3 6 9 4 / \ 7 2 / \ / \9 6 3 1/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * T

2022-01-11 23:19:35 216

原创 111. 二叉树的最小深度

给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。输入:root = [3,9,20,null,null,15,7]输出:2输入:root = [2,null,3,null,4,null,5,null,6]输出:5/** * Definition for a binary tree node. * public class TreeNode { * int val; *

2022-01-11 22:54:00 101

原创 104. 二叉树的最大深度

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回它的最大深度3 /** * Definition for a binary tree node. * public class TreeNode { * int val; * ...

2022-01-11 22:46:54 213

原创 515. 在每个树行中找最大值

给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。输入: root = [1,3,2,5,3,null,9]输出: [1,3,9]解释: 1 / \ 3 2 / \ \ 5 3 9输入: root = [1,2,3]输出: [1,3]解释: 1 / \ 2 3输入: root = [1]输出: ...

2022-01-11 21:39:14 75

原创 429. N 叉树的层序遍历

给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。输入:root = [1,null,3,2,4,null,5,6]输出:[[1],[3,2,4],[5,6]]输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]输出:[[1],[2,..

2022-01-11 15:52:41 228

原创 637. 二叉树的层平均值

给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。输入: 3 / \ 9 20 / \ 15 7输出:[3, 14.5, 11]解释:第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNo...

2022-01-11 15:34:40 124

原创 199. 二叉树的右视图

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。输入:[1,2,3,null,5,null,4]输出:[1,3,4]输入:[1,null,3]输出:[1,3]输入:[]输出:[]/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode lef...

2022-01-11 15:21:05 157

原创 107. 二叉树的层序遍历 II

给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)输入:root = [3,9,20,null,null,15,7]输出:[[15,7],[9,20],[3]]输入:root = [1]输出:[[1]]输入:root = []输出:[]/** * Definition for a binary tree node. * public class TreeNode { *

2022-01-11 12:35:28 88

原创 171. Excel 表列序号

给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。 A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...输入: columnTitle = "A"输出: 1输入: columnTitle = "AB"输出: 28输入: columnTitle = "ZY"输出...

2022-01-11 08:23:59 234

原创 168. Excel表列名称

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 ...输入:columnNumber = 1输出:"A"输入:columnNumber = 28输出:"AB"输入:columnNumber = 701输出:"ZY"输入:columnNumber = 2147483647输出

2022-01-11 00:51:15 103

原创 117. 填充每个节点的下一个右侧节点指针 II

给定一个二叉树struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。进阶:你只能使用常量级额外空间。 使用递归解题也符合要求,本题中递归程序占用的栈空间不算做额外的空间复杂度。输入:root = [1,2,3,.

2022-01-10 23:38:39 78

原创 96. 不同的二叉搜索树

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。输入:n = 3输出:5输入:n = 1输出:1class Solution { public int numTrees(int n) { //初始化 dp 数组 int[] dp = new int[n + 1]; //初始化0个节点和1个节点的情况 dp[0] =

2022-01-09 17:23:19 431

原创 343. 整数拆分

给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 ×3 ×4 = 36。class Solution { public int integerBreak(int n) { //dp[i]为正整数i拆分结果的最大乘积 int[] d...

2022-01-09 16:50:11 255

原创 63. 不同路径 II

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?输入:m = 3, n = 7输出:28网格中的障碍物和空位置分别用 1 和 0 来表示。输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 ->.

2022-01-09 16:24:35 86

原创 62. 不同路径

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?输入:m = 3, n = 7输出:28输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向下 -> 向下2. 向下 -> 向下 -> 向右3. 向下 -> 向

2022-01-09 15:49:57 240

原创 746. 使用最小花费爬楼梯

给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。输入:cost = [10,15,20]输出:15解释:你将从下标为 1 的台阶开始。- 支付 15 ,向上爬两个台阶,到达楼梯顶部。总花费为 15 。输入:cost = [1,100,1,1,1,100,1,1,100,1]输出:6解释

2022-01-09 14:22:23 83

原创 70. 爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶class Solution { public int climbS.

2022-01-09 13:06:49 254

原创 90. 子集 II

给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。输入:nums = [1,2,2]输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]输入:nums = [0]输出:[[],[0]]class Solution { List<List<Integer>> result = new ArrayList<>

2022-01-09 11:35:52 93

原创 78. 子集

给你一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]输入:nums = [0]输出:[[],[0]]class Solution { List<List<Integer>> result = new ArrayList&l...

2022-01-09 11:13:11 77

原创 93. 复原 IP 地址

有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是 无效 IP 地址。给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入'.' 来形成。你不能重新排序或删除 s 中的任何数.

2022-01-09 09:59:31 98

原创 131. 分割回文串

给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。输入:s = "aab"输出:[["a","a","b"],["aa","b"]]输入:s = "a"输出:[["a"]]列出如下几个难点:切割问题可以抽象为组合问题 如何模拟那些切割线 切割问题中递归如何终止 在递归循环中如何截取子串 如何判断回文class Solution { List<Li.

2022-01-09 00:31:27 89

原创 40. 组合总和 II

给你一个由候选元素组成的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个元素在每个组合中只能使用 一次 。注意:解集不能包含重复的组合。输入: candidates =[10,1,2,7,6,1,5], target =8,输出:[[1,1,6],[1,2,5],[1,7],[2,6]]输入: candidates =[2,5,2,1,2], targe...

2022-01-08 23:59:15 225

原创 39. 组合总和

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为 target 的不同组合数少于 150 个。输入:candidates = [2,3,6,7], target = 7输出:[

2022-01-08 18:40:54 74

原创 17. 电话号码的字母组合

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]输入:digits = ""输出:[]输入:digits = "2"输出:["a","b","c"]class Solution { //设置全局列表存

2022-01-08 15:10:47 88

原创 216. 组合总和 III

找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。输入: k = 3, n = 7输出: [[1,2,4]]输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]class Solution { List<List<Integer>> result = new ArrayList(); LinkedList<Integ.

2022-01-08 14:35:35 66

原创 47. 全排列 II

给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。输入:nums = [1,1,2]输出:[[1,1,2], [1,2,1], [2,1,1]]输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]class Solution { List<List<Integer>> result = new ArrayList<&g.

2022-01-08 13:08:35 74

原创 46. 全排列

给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]输入:nums = [0,1]输出:[[0,1],[1,0]]输入:nums = [1]输出:[[1]]模板代码:for (int i = 0; i < nums.size(); i++) { if (used...

2022-01-08 11:13:29 76

原创 77. 组合

给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。输入:n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]输入:n = 1, k = 1输出:[[1]]如果解决一个问题有多个步骤,每一个步骤有多种方法,题目又要我们找出所有的方法,可以使用回溯算法;回溯算法是在一棵树上的 深度优先遍历(因为要找所有的解,所以需要遍历);

2022-01-08 01:40:47 80

原创 994. 腐烂的橘子

在给定的网格中,每个单元格可以有以下三个值之一:值0代表空单元格;值1代表新鲜橘子;值2代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。输入:mat = [[0,0,0],[0,1,0],[0,0,0]]输出:[[0,0,0],[0,1,0],[0,0,0]]输入:mat = [[0,0,0],[0,1,0],[1,1,1]]...

2022-01-07 14:17:04 130

原创 Queue:poll、offer、element、peek的区别

数据结构的解释 队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。在队列这种数据结构中,最先插入的元素将是最先被删除的元素;反之最后插入的元素将是最后被删除的元素,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。Queue继承了Collection接口Queue使用时要尽量避免Col...

2022-01-07 07:30:53 3082

原创 567. 字符串的排列

给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。换句话说,s1 的排列之一是 s2 的 子串 。输入:s1 = "ab" s2 = "eidbaooo"输出:true解释:s2 包含 s1 的排列之一 ("ba").输入:s1= "ab" s2 = "eidboaoo"输出:false方法:双指针(滑动窗口)排列不讲究顺序,但是字符出现的 种类 和 次数 要恰好对应相等;暴力解法.

2021-12-31 01:49:32 266

原创 876. 链表的中间结点

给定一个头结点为head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, L..

2021-12-30 14:11:52 259

原创 557. 反转字符串中的单词 III

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。输入:"Let's take LeetCode contest"输出:"s'teL ekat edoCteeL tsetnoc"class Solution { public String reverseWords(String s) { int len = s.length(); int i = 0; char[] chars = s.toCha

2021-12-30 13:48:52 173

原创 常用限流算法

网上这类文章很多,我在这里做一个总结一、固定窗口算法维护一个计数器,单位时间段当成窗口。计数器记录窗口接收请求次数.当次数少于限流阀值,就允许访问,并且计数器+1 当次数大于限流阀值,就拒绝访问。 当前的时间窗口过去之后,计数器清零。单位时间是1秒,限流阀值为3。在单位时间1秒内,每来一个请求,计数器就加1,如果计数器累加的次数超过限流阀值3,后续的请求全部拒绝。等到1s结束后,计数器清0,重新开始计数。临界问题:假设限流阀值为10个请求,单位时间窗口是1s,如果我们在单位时..

2021-12-30 01:18:19 170

原创 283. 移动零

给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。class Solution { public void moveZeroes(int[] nums) { if (nums == null || nums.length <= 1) { return; }...

2021-12-29 01:11:17 136

原创 189. 轮转数组

给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右轮转 1 步: [7,1,2,3,4,5,6]向右轮转 2 步: [6,7,1,2,3,4,5]向右轮转 3 步: [5,6,7,1,2,3,4]输入:nums = [-1,-100,3,99], k = 2输出:[3,99,-1,-100]解释:向右轮转 1 步: [99,-1,-100,3].

2021-12-29 00:43:40 196

原创 3. 无重复字符的最长子串长度

给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。class Solution { public int lengthOfLongestSubstring(String s) { // 记录字符上一次出现的位置 ...

2021-12-28 20:04:29 217

原创 初次体验go语言

一、环境安装Downloads - The Go Programming LanguageGo is an open source programming language that makes it easy to build simple, reliable, and efficient software.https://go.dev/dl/无脑下一步,记得安装地址更换一下;GoLand:JetBrains推出的智能Go IDEhttps://www.jetbrains.com/zh-cn/go

2021-12-25 02:14:03 190

达内C++资源下载地址

达内C++资源下载地址

2014-04-05

ajax李刚教程

李刚系列教程,ajax,大家可以看看

2014-04-05

导出excle表格

非常实用的导出excle、pdf代码,开源,希望能帮助大家

2014-04-01

extjs后台管理界面

一个不错的extjs后台界面,开源的哦

2014-04-01

手机滚动示例

一个不错的特效,一个不错的特效

2014-04-01

动态图片_lanrentuku.com

动态图片,我从网上下的觉得不错,分享给大家!!

2014-03-19

sublime Text2皮肤

sublime text2 一个对于程序员来说非常好用的软件皮肤,之所以没有上传软件是因为它可以很容易的从官网上下到,皮肤是给大家没事的时候可以折腾折腾

2014-03-19

后台静态模板

几套后台的开发JSP界面,上传上来给大家看看,希望能帮助到大家!

2014-03-13

Linux常用命令全集

是我从网上下的,我担心有些人找时候不好找,就共享一下,希望能帮助大家!

2014-03-13

各大互联网公司面试题

快到毕业生的季节了,在这里我下载了一个国内互联网公司的面试题,大家参考着看看吧,有腾讯、阿里、微软等、免费的哦

2014-02-21

英雄会算法代码

英雄会算法代码,C语言描写

2014-02-17

myeclipse10.7破解

myeclipse10.7破解钥匙。

2014-02-10

UE编辑器使用说明

简单描述UE的使用,非常使用!创建过程等

2014-01-23

Editplus代码格式化(css.js.html)

免费给大家,这个我使用成功了,推荐给大家!

2014-01-23

安卓开发包

安卓开发包

2013-12-15

网络工程规划与设计

网络工程规划与设计课件

2013-10-26

linux网络技术设计课件

linux网络技术开发课件,是不错的课件,免费分享一下

2013-10-26

图书馆管理信息系统课程设计

图书馆管理信息系统课程设计,以软件工程师的角度帮助你分析项目设计流程,绝对合算!!

2013-06-23

在B_S开发中经常用到的javaScript技术

在B_S开发中经常用到的javaScript技术

2013-06-23

PLSQL+Developer工具的使用

PLSQL+Developer工具的使用

2013-06-23

TestThreadSafe.java

博客示例代码

2020-06-09

微信H5支付DEMO-可直接填写参数调用

微信H5支付DEMO-可直接填写参数调用 微信H5支付DEMO-可直接填写参数调用

2018-08-11

java并发包源码分析(3)ThreadLocal

java并发包源码分析(3)ThreadLocal 详细配图讲解 java并发包源码分析(3)ThreadLocal 详细配图讲解

2018-07-05

SecureCRT+FX+keygen_x86+x64_ver8.0

SecureCRT+FX+keygen_x86+x64_ver8.0

2017-06-23

Java最小动态树显示

java最小动态树演示

2016-07-11

BlackICE

BlackICE

2014-08-03

autoruns查看系统进程,查找病毒木马的好工具

查看系统进程,查找病毒木马的好工具 查看系统进程,查找病毒木马的好工具 查看系统进程,查找病毒木马的好工具 查看系统进程,查找病毒木马的好工具 查看系统进程,查找病毒木马的好工具 查看系统进程,查找病毒木马的好工具

2014-08-03

Hibernateannotation

Hibernate注解文档

2014-06-10

poi.jar包

poi.jar用处,很多,我怕我忘记了,所以先传上来

2014-06-10

gson.jar包

gson.jar完成json能完成的一切,而且更方便

2014-06-10

项目整合管理

项目整合管理

2014-06-10

springTranction

spring事物的测试

2014-06-10

json数据格式

json数据格式转化、

2014-04-26

sniffer的使用

sniffer教程使用

2014-04-26

jcom.jar的使用

jcom可以用来打印文档和生成PDF,我怕弄丢了, 所以上传!!

2014-04-26

后台模板25个

后台模板

2014-04-18

commons-lang3-3.1

commons-lang3-3.1.jar上传给大家,省的我弄丢了!= =

2014-04-18

springmvc+extjs4实例树

springmvc+extjs4实例树

2014-04-17

ExtJS医院管理

ExtJS医院管理

2014-04-17

extjs增删改查实例Java版本

自己牺牲了一个铜板给大家找的,希望对初学者们都有用哈

2014-04-12

空空如也

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

TA关注的人

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