<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Rankir的博客]]></title><description><![CDATA[云笔]]></description><link>https://blog.youkuaiyun.com/Rankir</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Rankir]]></copyright><item><title><![CDATA[两数之和]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/81143385</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/81143385</guid><author>Rankir</author><pubDate>Sat, 21 Jul 2018 12:29:22 +0800</pubDate><description><![CDATA[

题目：给定一个整数数组和一个目标值，找出数组中和为目标值的两个数。

        你可以假设每个输入只对应一种答案，且同样的元素不能被重复利用。



给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]


class Solution {
    /**
      
   ...]]></description><category></category></item><item><title><![CDATA[输入某二叉树的前序遍历和中序遍历的结果，请重建出该二叉树。]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/81127823</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/81127823</guid><author>Rankir</author><pubDate>Fri, 20 Jul 2018 10:42:40 +0800</pubDate><description><![CDATA[① 题目：

输入某二叉树的前序遍历和中序遍历的结果，请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}，则重建二叉树并返回。

② 确定思路：

前序遍历确定根，以及左右子树的父节点。

中序遍历确定左右子树。

在确定根之后，进行左右子树递归遍历即可。


/**
 * ...]]></description><category></category></item><item><title><![CDATA[输入一个链表，从尾到头打印链表每个节点的值。]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/80808962</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/80808962</guid><author>Rankir</author><pubDate>Mon, 25 Jun 2018 23:32:53 +0800</pubDate><description><![CDATA[输入一个链表，从尾到头打印链表每个节点的值。]]></description><category></category></item><item><title><![CDATA[在一个二维数组中，每一行都按照从左到右递增的顺序排序，每一列都按照从上到下递增的顺序排序。请完成一个函数，输入这样的一个二维数组和一个整数，判断数组中是否含有该整数。]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/80808627</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/80808627</guid><author>Rankir</author><pubDate>Mon, 25 Jun 2018 22:56:42 +0800</pubDate><description><![CDATA[在一个二维数组中，每一行都按照从左到右递增的顺序排序，每一列都按照从上到下递增的顺序排序。请完成一个函数，输入这样的一个二维数组和一个整数，判断数组中是否含有该整数。]]></description><category></category></item><item><title><![CDATA[springboot整合redis报错NOAUTH Authentication required.解决方案]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/80499614</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/80499614</guid><author>Rankir</author><pubDate>Tue, 29 May 2018 17:49:28 +0800</pubDate><description><![CDATA[springboot整合redis报错NOAUTH Authentication required.解决方案]]></description><category></category></item><item><title><![CDATA[MFC简单的登录注册实现]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/70196469</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/70196469</guid><author>Rankir</author><pubDate>Sun, 16 Apr 2017 17:05:11 +0800</pubDate><description><![CDATA[注册Void CSignDlg::OnSubmit() {
    CString username;//从文件中读取用户名进行校验，如果输入的用户名在文件已存在则不进行注册
    CString sex;
    bool flag=false;//标记
    char * path="username.txt";//文件路径    CFile fp;//使用MFC的CFile将暑假写入文件]]></description><category></category></item><item><title><![CDATA[用顺序栈创建双栈结构]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/67642269</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/67642269</guid><author>Rankir</author><pubDate>Tue, 28 Mar 2017 20:12:59 +0800</pubDate><description><![CDATA[双栈结构，即两端都可以入栈，但无论从哪一端，仍遵从LIFOinclude define MAXSIZE 1024typedef struct dStack{ 
    elemtype data[MAXSIZE]; 
    int top[3]; 
}DSequenStack; 
DSequenStack *Init_1_DSequenStack(int m) 
{ 
    DSequenSta]]></description><category></category></item><item><title><![CDATA[对有n个人围成的一个圆圈进行按报数规则全部取数出列]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/62461820</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/62461820</guid><author>Rankir</author><pubDate>Thu, 16 Mar 2017 22:47:26 +0800</pubDate><description><![CDATA[设有n个人围成一个圆圈，现从第s个人开始报数，数到第m的人出列，然后从出列的下一个人重新开始报数，数到第m个人再出列，如此反复，直到所有的人全部出列为止。对于任意给定的n,s,m,求按出列次序得到的n个人员的序列。首先，创建一个循环链表，这里默认头指针中的data为1，即为n个人中的第一个人typedef int elemtype; 
typedef struct node 
{ 
    elem]]></description><category></category></item><item><title><![CDATA[对单链表分割为奇偶有序链表]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/62248629</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/62248629</guid><author>Rankir</author><pubDate>Wed, 15 Mar 2017 22:57:12 +0800</pubDate><description><![CDATA[原理： 
①对原链表中数据进行奇偶分布，奇数在前偶数在后 
②对原链表进行遍历，直至遍历至偶数，进行分割 
③对分割后的链表进行排序/头插法建立带头结点的单链表函数/ 
LinkList *Create_LinkListF( ) 
{ 
    elemtype  ix; 
    LinkList  *head, *p; 
    head = (LinkList *) malloc (sizeo]]></description><category></category></item><item><title><![CDATA[21.Vector  ArrayList  LinkedList]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/57408292</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/57408292</guid><author>Rankir</author><pubDate>Sun, 26 Feb 2017 12:31:14 +0800</pubDate><description><![CDATA[ArrayList（可变长度数组）


特点：查询速度很快，增删稍慢（角标变化），线程不同步


Vector与Arraylist同，但线程同步，效率低，被ArrayList替代


--------------------------------
了解Vector中特殊的东西：枚举---------Vector特有的取出方式
Vector v=new Vector();
]]></description><category></category></item><item><title><![CDATA[20.List]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/57145587</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/57145587</guid><author>Rankir</author><pubDate>Sat, 25 Feb 2017 22:58:46 +0800</pubDate><description><![CDATA[Collection----List集合：元素有序，元素可以重复，因为该集合体系有索引


----------------------------
List方法:
凡是可以操作角标的方法都是该体系持有的方法
特有方法:
添加：
add(index,element)
addAll(index,Collection)
删除：
remove(index)
修改：

set(]]></description><category></category></item><item><title><![CDATA[19.集合类总概]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/57088191</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/57088191</guid><author>Rankir</author><pubDate>Sat, 25 Feb 2017 18:38:08 +0800</pubDate><description><![CDATA[集合是存储对象的方式之一


数组与集合的区别：
数组可以存储基本数据类类型和对象（类型相同），长度固定


集合只能存储对象（不同类型），长度可变
（也是集合特点）




一般常用方法：add()  remove() contains() clear() iterator()


容器分很多，形成共性抽取则产生体系----集合框架


为什么会出现这么多容]]></description><category></category></item><item><title><![CDATA[18基本数据类型对象包装类]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/57086560</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/57086560</guid><author>Rankir</author><pubDate>Sat, 25 Feb 2017 18:02:02 +0800</pubDate><description><![CDATA[最常见作用：基本数据类类型和字符串类型之间的转换


--------------------------
转字符串：
基本数据+ " ";
基本数据类型.toString(基本数据类型值)
转基本数据类型：
statoc ParseXXX(str);  //传入的是数字格式的字符串，其他的不允许
eg:Integer.parseInt("123"); Long.parseLon]]></description><category></category></item><item><title><![CDATA[17.StringBuffer和StringBuilder]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/57085783</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/57085783</guid><author>Rankir</author><pubDate>Sat, 25 Feb 2017 17:36:00 +0800</pubDate><description><![CDATA[1 StringBuffer
字符串缓冲区，特点：
长度可变化
可以操作多个数据类型
特通过toString变成字符串
1.1  存储：append() 将指定数据作为参数添加到已有数据的结尾处
StringBuffer sb=new StringBuffer();
sb.append(43);
insert(offset,boolean/char/char [ ]) 在指定索引位]]></description><category></category></item><item><title><![CDATA[16.String]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/56674569</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/56674569</guid><author>Rankir</author><pubDate>Thu, 23 Feb 2017 16:10:03 +0800</pubDate><description><![CDATA[字符串最大特点：字符串是一个特殊的对象，一旦被初始化就不可以被改变
----------------------------------------------
定义：
1.双引号引起来的都是String类实例
String s=new String("abc);
String s1="abc";//s1是一个类类型变量，"abc"是一个对象
s1="kk";//s1指向"kk"对象，]]></description><category></category></item><item><title><![CDATA[15.停止线程 守护线程 join() yield()]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/56061547</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/56061547</guid><author>Rankir</author><pubDate>Mon, 20 Feb 2017 23:28:24 +0800</pubDate><description><![CDATA[停止线程：
原理：stop()//已过时
只有一种方法，即run()运行结束
开启多线程运行，运行代码通常是循环结构，只要控制住循环，就可以让run()结束，即线程结束


如果线程状态均是wait(),调用中断线程方法interrupt(),可强制唤醒冻结线程，产生中断异常，代码停止循环。
----------------------------------------------]]></description><category></category></item><item><title><![CDATA[14.显式的锁机制，显式的等待唤醒机制--lock和condition]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/55669222</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/55669222</guid><author>Rankir</author><pubDate>Sat, 18 Feb 2017 17:47:18 +0800</pubDate><description><![CDATA[Lock比synchronized更广泛,更复杂的锁操作


condition对象：
await(),signal(),signalAll()等等


----------------------------------
建立锁对象： Lock lock=new ReentrantLock();
建立Condition对象：Condition condition=lock.ne]]></description><category></category></item><item><title><![CDATA[13.线程间通信]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/55667127</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/55667127</guid><author>Rankir</author><pubDate>Sat, 18 Feb 2017 14:40:06 +0800</pubDate><description><![CDATA[多个线程在操作同一个资源，操作动作不同
package 线程通信;


import java.security.interfaces.RSAKey;


import 电话号码.Main;


/*
 * 例子：生产者消费者
 * 如果两个线程生成，两个线程消费
 */
public class Resource {
private String name;
pr]]></description><category></category></item><item><title><![CDATA[12.synchronized]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/55666943</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/55666943</guid><author>Rankir</author><pubDate>Sat, 18 Feb 2017 14:17:22 +0800</pubDate><description><![CDATA[使用目的：
对多条操作共享数据语句，只能让一个线程都执行完，在执行过程中，其他线程不可以参与执行
防止共享数据错误
----------------------------------------------------------------
语法：
同步代码块：
synchronized(对象){需要被同步的代码/共享数据}


while(true){
Object ob]]></description><category></category></item><item><title><![CDATA[11.多线程简介]]></title><link>https://blog.youkuaiyun.com/Rankir/article/details/55664659</link><guid>https://blog.youkuaiyun.com/Rankir/article/details/55664659</guid><author>Rankir</author><pubDate>Sat, 18 Feb 2017 13:33:50 +0800</pubDate><description><![CDATA[定义：
进程：是一个正在执行中的程序，每一个进程执行都有一个执行顺序，该顺序是一个执行路径，或者叫一个控制单元
线程：进程中的一个独立的控制单元，控制着进程的执行，一个进程至少有一个线程
--------------------------------------------------------------------------------------------
JVM启动时会有一]]></description><category></category></item></channel></rss>