自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

令狐_JackieHao的博客

真正的大师永远怀着一颗学徒的心

  • 博客(274)
  • 资源 (5)
  • 问答 (1)
  • 收藏
  • 关注

原创 谈谈大学为什么不教你具体的计算机科学技术?

对于外行来说,他们理解的学计算机是指:学计算机技术。把计算机当成了门徒学技术一样的活,以为学理发,学厨师,学开车这样的技术性活动。这个认知肯定是错的呀。计算机科学与技术专业是一个大类,在这个大的分类里有不同的方向,从专业角度来说:有电子自动化、数字媒体技术、软件工程、电子信息工程、网络安全、人工智能…等方向.每个方向又细分了领域,比如数字媒体技术这个方向里面就划分了数字媒体技术和数字媒体艺术,在数字媒体艺术里划分了不同行业的工种,软件网页的美工和游戏虚拟引擎开发就属于这个方向的领域,知道前端开发吧?前端开

2022-08-13 17:22:41 161

原创 SecureCRT 通过xftp命令行上传文件到服务器上

工作项目中用到

2022-06-01 10:36:47 449 1

原创 构建leanote云笔记报错:xxx.xxx.xxx.xxx拒绝我们的连接请求

服务器部署云笔记应用遇到的问题

2022-05-24 18:56:38 287

原创 搭建FTP报错:Job for vsftpd.service failed because the control process exited with error code. See

服务器搭建ftp服务时遇到的问题解决方案

2022-05-23 16:42:58 5725 2

原创 Linux基础知识查询总结

Linux笔记文章目录Linux笔记一、关于VMware创建虚拟机1.1系统分区(了解基本概念)1.2Linux系统安装1.3远程登录管理工具1.3.1虚拟机网络环境配置:1.3.2开始从windows系统远程连接工具连接虚拟机linux二、Linux常用命令2.1命令格式与目录处理命令ls2.2创建新目录:mkdir2.3切换目录:cdNotes:cd和cd..的区别:2.4删除空目录:rmdir2.5复制文件或目录:cp2.6剪切文件和改名文件:mv2.7删除命令:rm2.8创建空文件:touch2.

2022-05-11 14:04:40 114

原创 Linux三剑客

Linux三剑客文章目录Linux三剑客一、正则表达式1.2**正则表达意义**:二、Linux三剑客grep2.1、grep练习2.2、找出所有以m开头的行2.3、输出所有以m开头的行2.4输出所有以i开头的行2.5找出所有允许登录的用户,解释器是/bin/bash的行三、sed与正则表达式3.1、输出文件第二行、第三行3.2、过滤出含有“Linux”字样的文本3.3、删除含有game的行3.4、全局替换,将my换成i四、sed配合正则表达式企业案例4.1、取出linux的ip地址【去头去尾】五、Lin

2022-04-29 14:42:53 1513

原创 服务器基础知识大科普

“服务器”-互联网之魂服务器被誉为互联网之魂。我第一次见到服务器是在学校图书馆,是一种机架式服务器。第二次见到服务器是在公司机房,本期文章是对服务器进行大盘点和梳理,会介绍我拆装服务器过程,从中的学习感悟。一、服务器1.1服务器与PC机大部分程序员见到的服务器也就是云服务器,知名的那几家公司:阿里云、腾讯云…都是著名的云服务器提供厂商。在学校写个网站啥的,学生就可以优惠买买买。不过今天我们介绍的是服务器而非云服务器。在学校的时候,老师会说:“你们用的电脑也是服务器”。是的,那么现在我们来讨论,P

2022-04-26 14:23:16 9187 5

原创 Shell编程

文章目录一、概述二、shell脚本执行方式2.1编写第一个脚本2.2多命令操作案例三、Shell中的变量3.1特殊变量:用于接收shell脚本文件执行时传入的参数:$n3.2获取所有参数:$#3.3`$*`、`$@`,含义:都是获取所有传入参数,用于后续输出所有参数。3.4 $?含义:上一条命令执行状态四、运算符五、条件判断5.1常用判断条件1、整数之间的比较2、按照文件权限进行判断3、按照文件类型进行判断4、案例实操六、流程控制6.1Shell_if判断6.2Case语句6.3For循环6.4While循

2022-04-24 19:18:45 416

原创 【网络实验】/主机/路由器/交换机/网关/路由协议/RIP+OSPF/DHCP

文章目录一、基础信息1.1用户视图1.2系统视图二、拓扑搭建和IP地址配置2.1主机IP地址配置:2.2路由器IP地址的配置2.3交换机IP地址配置三、IP地址和网关3.1主机和交换机通信:3.2主机和路由器通信:3.3理论理解-ip和网关的作用一、基础信息1.1用户视图1.2系统视图sys 进入系统视图利用 quit 或者 return 退出视图,返回用户视图。sy 重命名名称 重命名名称!tab 可以补全我们的命令!二、拓扑搭建和IP地址配置2.1主机IP地址配置:2.2路由

2022-04-19 16:39:07 719

原创 【第五期】计算机网络常识/广播域/冲突域/VLAN

【第五期】计算机网络常识/广播域/冲突域/VLAN文章目录【第五期】计算机网络常识/广播域/冲突域/VLAN一、广播域二、VLAN一、广播域如下图,使用一个或多个交换机组成的以太网,所有站点都在 同一个广播域。随着交换机变多,这个广播域的范围也会变大,于是就会出现很多弊端:广播风暴难以维护安全问题在这个广播域中,其中一个主机想要获取另外一个网段的主机MAC地址,需要发送ARP广播请求获取对方主机的MAC地址。这个广播请求会广播到每一个主机身上,导致广播风暴。于是出现了VLAN技术用于解决

2022-04-19 12:33:43 4644

原创 【第四期】网络层、传输层、应用层

文章目录一、网络层二、路由器的LAN口和WAN口2.1ARP协议三、传输层3.1TCP协议(三次握手,四次挥手)3.2四次挥手3.3UDP协议四、应用层3.1DHCP协议3.2DNS协议【翻译官】3.3HTTP协议一、网络层两个特殊的IP地址:广播地址:主机位全为1向这个地址发送数据包,网段中所有设备都会收到网络地址:主机位全为0表示这个网络​二、路由器的LAN口和WAN口下图路由器上边是WAN口,交换机下部分是LAN口。路由器的:WAN口:是广域网端口

2022-04-18 16:30:14 3313

原创 【第三期】计算机网络常识/网络分层模型与数据包封装传输过程

文章目录一、计算机网络分层/五层模型二、数据包传输过程2.1同一网段之间的通信:2.2不同网段之间的通信:我们在解决一个问题的时候,通常会把问题进行拆分,通过拆分以后的子集分析出前因后果,最后找出解决方案,把解决方案进行建模,形成新模型;当下次遇到相同或相似问题的时候我们就会利用之前得到的模型进行复用。一、计算机网络分层/五层模型计算机网络为什么要分层呢?因为本质上他就是在解决问题,解决计算机之间的通信问题,这里面就涉及到数据包在两个计算机之间传递的过程。在第三期就是本篇内容,我们讨论的东西开始

2022-04-15 10:58:22 1080

原创 【第二期】计算机网络常识(端口/网段/路由)

文章目录一、端口二、网段三、路由一、端口在计算机网络中,端口分为软件端口和物理端口;一般理解软件端口多一些。一个计算机中运行了很多的软件,当计算机收到外来数据包的时候,计算机是如何知道数据包属于哪个软件的呢?要回答这个问题,首先需要知道:一个数据包 的构成如下:上图中,源IP和目的IP好理解把,就是两个通信门牌号地址,而且在上一期我们讲IP地址的时候也讲过。监听数据包/发送数据包的一个过程:当计算机收到一个数据包的时候,计算机就会 监听 数据包中的 目标端口,然后在看一下电脑中哪个软件

2022-04-14 11:21:18 3646

原创 【第一期】大话计算机网络(猫、路由器、wifi)

【第一期】计算机网络常识/猫、路由器、wifi工作中遇到计网相关概念,所以将计网中的内容进行梳理总结~本文从基础第一期开始科普。这一版科普会从家庭网开始介绍,循序渐进过渡到公司网,涉及ip/子网/网段/nov域/IPMI/Vlan/,做服务器直连/网络协议/网络拓扑等知识点。一、家庭网科普一个家庭网络户结构是这样的:猫—路由器—电脑1.1猫/光猫猫就是上图最左边的那个东西;猫和光猫是不一样的,区别在于猫不支持光纤,需要直接拉网线,而光猫直接光纤入户。现在家庭网基本上使用光猫,不再使用猫。

2022-04-13 13:05:15 1573

原创 浅析互联网行业套路玩法+攻略

迁徙互联网行业套路玩法+攻略本文为转载文章大厂里面有很多的业务线,也有很多的部门,每个部门负责的都不一样,一个大厂有数百条业务线,有的赚钱,有的赔钱。但是通常赔钱的最多。通常大厂是这样玩的:上层领导看中了一个方向,比如说游戏是赚钱的,于是就大量开始招聘游戏岗位。公司往这方面投钱,比如说一年投入 1000 万,然后制定一个目标,实现三年盈利。通过招聘,你顺利进入了他们的游戏业务线,成为大厂员工。光环加顶,有些刚进入大厂的员工觉以为祖坟冒青烟了,但也可能冒黑烟。因为公司业务线刚开辟,所以就大量招人

2022-04-11 10:21:49 222

原创 【北漂日记Day01】第一次参加实习工作

【2022.3.18】第一次参加实习工作​       2022年开局不顺,这一年23岁的我经历了考研的失败,经历了拿着简历四处碰壁的心酸,接受着这个浩大冷漠的城市带给我的洗礼。唯一幸运的是,实习工作靠老师推荐找到了,住宿通过同学关系住了下来,节省了我在经济上的开销。我本科学计算机的,所以考研也是这个专业,这个专业很卷,我就是从独木桥上掉下来的千军万马之一,这是我经历的第一件入不敷出、刻骨铭心的事情。​       第一份实习工作通勤

2022-03-19 07:20:02 188 4

原创 Java笔记

Java笔记一、基础1.1JDK与JREJDK 是java开发工具,只有安装了jdk与部署环境变量和path,eclipse才能起作用。JRE是java运行时环境,运行在jvm上JVM是java虚拟机–》使得java跨平台性好,JVM功不可没。1.2普通类和抽象类抽象类不能被实例化,可以有抽象方法,只需声明无需实现。抽象方法不能声明为静态,不能被static,final修饰1.3抽象类和接口接口使用 interface修饰接口不能实例化,类可以实现多个接口抽象类用 abst

2022-03-17 20:27:57 6973

原创 spring复习

spring复习01、ioc创建对象的方式下标赋值类型创建参数名设置<bean id="user" class="com.linghu.pojo.User"> <constructor-arg name="name" value="令狐"/></bean>总结:在配置文件加载时,容器中管理的对象已经初始化了。02、spring文件配置可以把多个xml文件进行合并<import resourse="beans1.xml">&

2022-03-17 20:27:17 346

原创 mysql关系型数据库的学习

mysql关系型数据库的学习一、使用终端操作数据库如何查看有什么数据库?show databases;如何选择数据库?use databaseName;如何查看数据库中有哪些表show tables;如何查询表中的数据select *from tableName;如何退出数据库服务器exit;如何在数据库服务器中创建自己的数据库create database databaseName;如何创建一个数据表?创建一个pet表?create t

2022-03-17 20:26:11 1031 1

原创 Metamask钱包添加测试网络参数填写

2022-03-16 08:54:09 845

原创 【LeetCode 53】39.组合总和

【LeetCode 53】39.组合总和文章目录【LeetCode 53】39.组合总和一、题意二、解答过程一、题意二、解答过程回溯三部曲:确定参数确定终止条件确定单层递归逻辑class Solution {private: vector<vector<int>>result; vector<int> path; void backtracking(vector<int>&candidates,int

2022-02-20 18:08:22 283

原创 【LeetCode 52】17.电话号码的字母组合

【LeetCode 52】17.电话号码的字母组合文章目录【LeetCode 52】17.电话号码的字母组合一、题意二、解答过程一、题意二、解答过程理解本题后,要解决如下三个问题:数字和字母如何映射==用 map或者二维数组即可两个字母就两个for循环,三个字符我就三个for循环,以此类推,然后发现代码根本写不出来==回溯算法可解决n个for循环的问题输入1 * #按键等等异常情况回溯三部曲:确定参数确定终止条件确定单层递归逻辑class Solution {privat

2022-02-20 11:21:54 6762

原创 【LeetCode 51】216.组合总和III

【LeetCode 51】216.组合总和III文章目录【LeetCode 51】216.组合总和III一、题意二、解答过程一、题意二、解答过程这道题和 《77.组合》比起来,就是多了一些限制条件,本题是要找到和为n的k个数的组合,而整个集合已经是固定的了[1,…9]图中可以看出,只有取集合红色的是满足条件的。回溯三部曲class Solution {private: vector<vector<int>>result;//存放结果集 ve

2022-02-19 17:08:04 7610

原创 【LeetCode 50】77.组合(优化、剪枝操作)

【LeetCode 50】77.组合(优化)文章目录【LeetCode 50】77.组合(优化)一、题意二、解答过程一、题意二、解答过程组合问题的优化其实就是剪枝!具体怎么剪枝呢?可以剪枝的地方就在递归中每一层的for循环所选择的起始位置。如果for循环选择的起始位置之后的元素个数 已经不足 我们需要的元素个数了,那么就没有必要搜索了。代码中i就是for循环里选择的起始位置:for(int i=startIndex;i<=n;i++){优化过程:已经选择的元素个数:pat

2022-02-19 11:22:01 490

原创 【LeetCode 49】77.组合

【LeetCode 49】77.组合文章目录【LeetCode 49】77.组合一、题意二、解答过程一、题意二、解答过程一维数组path用来存放结果集合------[1,2] [1,3] [1,4]。二维数组 result用来存放统一的结果集合------[[1,2] [1,3] [1,4]]。用到回溯三部曲class Solution {private: vector<vector<int>> result; // 存放符合条件结果的集合 v

2022-02-19 10:25:53 7014

原创 第七章 回溯算法理论基础

第七章 回溯算法理论基础文章目录第七章 回溯算法理论基础一、定义1.1回溯的效率1.2回溯法的理解二、回溯法的模板一、定义回溯法也可以叫做回溯搜索法,是一种搜索方式。回溯和递归是孪生兄弟,同出同没。 回溯=递归1.1回溯的效率回溯的效率并不高,本质是一个枚举,之所以学它,是因为某些场合下必须用回溯法解决问题。回溯可以解决如下的问题:组合问题【N个数里面按一定规则找出k个数的集合】切割问题【一个字符串按一定规则有几种切割方式】子集问题【一个N个数的集合里有多少符合条件的子集】排

2022-02-18 00:31:52 177

原创 第六章 二叉树理论基础

第六章 二叉树理论基础文章目录第六章 二叉树理论基础一、二叉树分类二、二叉树的存储方式三、二叉树的遍历方式四、二叉树的定义五、题型总结一、二叉树分类二叉树的分类为:满二叉树如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节点的二叉树。完全二叉树完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h

2022-02-17 20:04:23 191

原创 【LeetCode 48】108.将有序数组转换为二叉搜索树

【LeetCode 48】108.将有序数组转换为二叉搜索树文章目录【LeetCode 48】108.将有序数组转换为二叉搜索树一、题意二、解答过程一、题意二、解答过程有序数组在构造二叉搜索树的时候,当前节点0一定是处于数组中间位置的。0的左边和右边分别对应二叉树左右子树,分别进行处理即可。class Solution {public: TreeNode* traversal(vector<int>& nums,int left,int right) {

2022-02-17 18:27:27 162

原创 【LeetCode 47】669.修剪二叉搜索树

【LeetCode 47】669.修剪二叉搜索树文章目录【LeetCode 47】669.修剪二叉搜索树一、题意二、解答过程一、题意二、解答过程class Solution {public: TreeNode* trimBST(TreeNode* root, int low, int high) { if(root==NULL) return NULL; //当前节点的元素小于low,去寻找右子树,返回右子树符合条件的节点

2022-02-17 17:13:01 91

原创 【LOL && DOTA】面向对象详解

【LOL && DOTA】面向对象详解文章目录【LOL && DOTA】面向对象详解一、设计英雄类class二、创建具体的英雄相信你肯定玩过DOTA或者LOL,没玩过,也一定听说过身边有很多的朋友在玩这款游戏的假设,我们要设计一个LOL这样的游戏,使用面向对象的思想来设计,应该怎么做?一、设计英雄类classLOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女所有这些英雄,都有一些共同的状态比如,他们都有名字,hp,护甲,移动速度等等这样

2022-02-17 00:01:25 2200

原创 【LeetCode 46】450.删除二叉搜索树的节点

【LeetCode 46】450.删除二叉搜索树的节点文章目录【LeetCode 46】450.删除二叉搜索树的节点一、题意二、解答过程一、题意二、解答过程二叉搜索树的删除要比插入困难,复杂。同样需要递归!二叉搜索树删除情况有五种:没找到删除的节点,遍历到空节点直接返回了找到删除的节点第二种情况:左右孩子都为空(叶子节点),直接删除节点, 返回NULL为根节点第三种情况:删除节点的左孩子为空,右孩子不为空,删除节点,右孩子补位,返回右孩子为根节点第四种情况:删除节点的右孩子为空,左

2022-02-16 22:06:42 181

原创 【LeetCode 45】701.二叉搜索树中的插入操作

【LeetCode 45】701.二叉搜索树中的插入操作文章目录【LeetCode 45】701.二叉搜索树中的插入操作一、题意二、解答过程一、题意二、解答过程在二叉搜索树中插入节点,只需要遍历二叉搜索树即可,不需要改变它的结构,遍历当然用到递归!class Solution {public://1. TreeNode* insertIntoBST(TreeNode* root, int val) { //2. if(root==NULL)

2022-02-16 15:34:13 48

原创 【LeetCode 44】235.二叉搜索树的最近公共祖先

【LeetCode 44】235.二叉搜索树的最近公共祖先文章目录【LeetCode 44】235.二叉搜索树的最近公共祖先一、题意二、解答过程一、题意二、解答过程与 《二叉树的最近公共祖先》不同,普通二叉树求最近公共祖先需要利用回溯自底向上查找公共节点,而二叉搜索树就不用了,因为二叉搜索树是有序的(相当于自带方向),只要自上而下遍历二叉搜索树即可。可以采用前序遍历(中-左-右)。遍历二叉搜索树的过程就是:需找区间[p->val,q->val];如果cur节点在[p->val

2022-02-16 11:48:52 413

原创 【LeetCode 43】236.二叉树的最近公共祖先

【LeetCode 43】236.二叉树的最近公共祖先文章目录【LeetCode 43】236.二叉树的最近公共祖先一、题意二、解答过程一、题意二、解答过程**思路/方法:**该题用到自底向上查找------回溯!还要用到递归!如果找到一个节点,发现左子树出现结点p,右子树出现节点q,或者 左子树出现结点q,右子树出现节点p,那么该节点就是节点p和q的最近公共祖先。使用后序遍历,回溯过程,就是从低向上遍历节点,一旦发现这个条件的节点,就是最近公共节点。先找节点路径p和q在结点路径的最近

2022-02-15 15:13:28 280

原创 【LeetCode 42】501.二叉搜索树中的众数

【LeetCode 42】501.二叉搜索树中的众数文章目录【LeetCode 42】501.二叉搜索树中的众数一、题意二、解答过程一、题意二、解答过程在 《二叉树:搜索树的最小绝对值差》中我们用到了 pre指针和 cur指针的技巧。这里又用上了。弄一个指针指向前一个节点,这样每次cur(当前节点)才能和pre(前一个节点)作比较。而且初始化时pre==NULL,这样当pre为NULL时,我们就知道这是比较的第一个元素。if (pre == NULL) { // 第一个节点 coun

2022-02-14 12:16:01 588

原创 【九度 OJ 09】二分查找学生信息

【九度 OJ 09】二分查找学生信息文章目录【九度 OJ 09】二分查找学生信息一、题意二、解答过程一、题意二、解答过程思路:二分查找#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;struct student//用于表示学生的结构体{ char sno[100];//学号 char name[100];//姓名 char s

2022-02-13 20:57:52 413

原创 【九度 OJ 08】简单查找x

【九度 OJ 08】简单查找x文章目录【九度 OJ 08】简单查找x一、题意二、解答过程一、题意二、解答过程思路:就是枚举暴力解,不难#include <iostream>int main() { int buf[200]; int n; while(scanf("%d",&n)!=EOF) { for (int i = 0; i <n ; ++i) { scanf("%d",

2022-02-13 16:51:03 341

原创 【九度 OJ 07】叠筐

【九度 OJ 07】叠筐文章目录【九度 OJ 07】叠筐一、题意二、解答过程一、题意二、解答过程思路:先定义二维数组,再由内到外一圈一圈填充字符,最后去掉四个角。Note:中间左上角字符坐标为: (n/2+1,n/2+1)次中间左上角坐标为: (n/2+1-1,n/2+1-1)#include<stdio.h>int main(){ int outputbuf[82][82];//用于预排版的输出缓存 char a,b;//输入的两个字符 int

2022-02-13 16:34:59 51

原创 【九度 OJ 06】2.7输出梯形

【九度 OJ 06】2.7输出梯形文章目录【九度 OJ 06】2.7输出梯形一、题意二、解答过程一、题意二、解答过程此类题是排版题,规律性较强的一类。规律:每行的空格数+ 每行的*个数= 最后一行具有的*个数 maxLine;最后一行的星号个数是 h+(h-1)*2个= maxLine每行的空格数=maxLine-h-(i-1)*2+1j:每行输出的空格数#include <iostream>int main() { int h; w

2022-02-12 18:20:27 343

原创 【LeetCode 41】530.二叉搜索树的最小绝对差

【LeetCode 41】530.二叉搜索树的最小绝对差文章目录【LeetCode 41】530.二叉搜索树的最小绝对差一、题意二、思考过程一、题意二、思考过程在对二叉搜索树进行中序遍历的过程中,我们可以直接找到相邻两个节点的差值------用一个 pre节点记录 cur节点的前一个节点。cur:当前节点pre:当前节点的前一个节点class Solution {public: int result=INT_MAX; TreeNode* pre; void t

2022-02-12 16:47:08 471

Spring+SpringMVC+Mybatis项目快速搭建

Spring+SpringMVC+Mybatis项目连接了数据库 项目的github地址:https://github.com/JackieLing/SSM 大家可以关注我的微信公众号:CodeLinghu 通过后台可以私信我你不懂的地方

2020-12-16

学号+姓名-java.docx

这是你们的作业模板!记得下载!

2019-09-12

计科软工C题库.rar

C语言题库的下载///大家下载完打开按文章所写进行复习即可

2019-07-27

计科系网站.rar

高校网站设计模板,这里指的是网站页面模板,是当网站中有许多页面版式色彩相同的情况下,将其定义为网页模板,并定义其中部分可编辑,部分不可编辑,那么在利用网页模板制作其他页面时就会很方便,不易出错。这里我们称为普通网页模板。网站模板就是已经做好的网页框架,使用网页编辑软件将模板原有的图片和文字替换成自己的内容,再发布到自己的网站。一般按以下步骤进行网页模板的制作1、要沉稳,不要花里胡哨。2、要素净、大气,不要五彩缤纷。3、要有个性、有风格,要突出行业的特点。

2019-06-24

C语言程序案例总结

《C程序算法总结》是基于谭浩强版本的《C语言程序设计》一书。面向广大的C语言初学者,该文中描述了从基础算法到语法的过程,每一个案例都是由浅而出,有浅到深的详解了C语言的案例,帮助初学者理解各种语法和函数的使用。每一个案例都详解了代码,并且配上了丰富的注释说明,代码写的规范,让读者赏心悦目,便于学习。

2019-01-26

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

TA关注的人

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