<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Super_white的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Super_white</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Super_white]]></copyright><item><title><![CDATA[【链表】环形链表插值练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82533067</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82533067</guid><author>Super_white</author><pubDate>Sat, 08 Sep 2018 20:39:38 +0800</pubDate><description><![CDATA[**有一个整数val，如何在节点值有序的环形链表中插入一个节点值为val的节点，并且保证这个环形单链表依然有序。

给定链表的信息，及元素的值A及对应的nxt指向的元素编号同时给定val，请构造出这个环形链表，并插入该值。

测试样例： 
[1,3,4,5,7],[1,2,3,4,0],2 
返回：{1,2,3,4,5,7}**



import java.util.*;


/*public ...]]></description><category></category></item><item><title><![CDATA[【队列和栈】数组变树练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82533038</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82533038</guid><author>Super_white</author><pubDate>Sat, 08 Sep 2018 20:37:14 +0800</pubDate><description><![CDATA[**对于一个没有重复元素的整数数组，请用其中元素构造一棵MaxTree，MaxTree定义为一棵二叉树，其中的节点与数组元素一一对应，同时对于MaxTree的每棵子树，它的根的元素值为子树的最大值。现有一建树方法，对于数组中的每个元素，其在树中的父亲为数组中它左边比它大的第一个数和右边比它大的第一个数中更小的一个。若两边都不存在比它大的数，那么它就是树根。请设计O(n)的算法实现这个方法。

给定...]]></description><category></category></item><item><title><![CDATA[【队列和栈】滑动窗口练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82533027</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82533027</guid><author>Super_white</author><pubDate>Sat, 08 Sep 2018 20:35:46 +0800</pubDate><description><![CDATA[**有一个整型数组 arr 和一个大小为 w 的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置。 返回一个长度为n-w+1的数组res，res[i]表示每一种窗口状态下的最大值。 以数组为[4,3,5,4,3,3,6,7]，w=3为例。因为第一个窗口[4,3,5]的最大值为5，第二个窗口[3,5,4]的最大值为5，第三个窗口[5,4,3]的最大值为5。第四个窗口[4,3,3]的最大值为4。...]]></description><category></category></item><item><title><![CDATA[【队列和栈】双栈排序练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82533015</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82533015</guid><author>Super_white</author><pubDate>Sat, 08 Sep 2018 20:34:31 +0800</pubDate><description><![CDATA[**请编写一个程序，按升序对栈进行排序（即最大元素位于栈顶），要求最多只能使用一个额外的栈存放临时数据，但不得将元素复制到别的数据结构中。

给定一个int[] numbers(C++中为vector&amp;amp;ltint&amp;gt;)，其中第一个元素为栈顶，请返回排序后的栈。请注意这是一个栈，意味着排序过程中你只能访问到第一个元素。

测试样例： 
[1,2,3,4,5] 
返回：[5,4,3,2,1...]]></description><category></category></item><item><title><![CDATA[【队列和栈】栈的反转练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82533001</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82533001</guid><author>Super_white</author><pubDate>Sat, 08 Sep 2018 20:33:04 +0800</pubDate><description><![CDATA[**实现一个栈的逆序，但是只能用递归函数和这个栈本身的pop操作来实现，而不能自己申请另外的数据结构。

给定一个整数数组A即为给定的栈，同时给定它的大小n，请返回逆序后的栈。

测试样例： 
[4,3,2,1],4 
返回：[1,2,3,4]**



import java.util.*;

public class StackReverse {
    public int[] revers...]]></description><category></category></item><item><title><![CDATA[【队列和栈】双栈队列练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82532984</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82532984</guid><author>Super_white</author><pubDate>Sat, 08 Sep 2018 20:31:10 +0800</pubDate><description><![CDATA[**编写一个类,只能用两个栈结构实现队列,支持队列的基本操作(push，pop)。

给定一个操作序列ope及它的长度n，其中元素为正数代表push操作，为0代表pop操作，保证操作序列合法且一定含pop操作，请返回pop的结果序列。

测试样例： 
[1,2,3,0,4,0],6 
返回：[1,2]**



import java.util.*;

public class TwoStack ...]]></description><category></category></item><item><title><![CDATA[【队列和栈】 可查询最值的栈练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82532972</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82532972</guid><author>Super_white</author><pubDate>Sat, 08 Sep 2018 20:29:43 +0800</pubDate><description><![CDATA[定义栈的数据结构，请在该类型中实现一个能够得到栈最小元素的min函数。



import java.util.Stack;

public class Solution {

    Stack&amp;lt;Integer&amp;gt; stack = new Stack&amp;lt;Integer&amp;gt;();
    Stack&amp;lt;Integer&amp;gt; minStack = new Stack&amp;lt;I...]]></description><category></category></item><item><title><![CDATA[【字符串】最长无重复字符子串练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82532939</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82532939</guid><author>Super_white</author><pubDate>Sat, 08 Sep 2018 20:26:51 +0800</pubDate><description><![CDATA[**对于一个字符串,请设计一个高效算法，找到字符串的最长无重复字符的子串长度。

给定一个字符串A及它的长度n，请返回它的最长无重复字符子串长度。保证A中字符全部为小写英文字符，且长度小于等于500。

测试样例： 
“aabcb”,5 
返回：3**



import java.util.*;

public class DistinctSubstring {
    public int l...]]></description><category></category></item><item><title><![CDATA[【字符串】合法括号序列判断练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82532927</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82532927</guid><author>Super_white</author><pubDate>Sat, 08 Sep 2018 20:24:54 +0800</pubDate><description><![CDATA[**对于一个字符串，请设计一个算法，判断其是否为一个合法的括号串。

给定一个字符串A和它的长度n，请返回一个bool值代表它是否为一个合法的括号串。

测试样例： 
“(()())”,6 
返回：true 
测试样例： 
“()a()()”,7 
返回：false 
测试样例： 
“()(()()”,7 
返回：false**



import java.util.*;

public cla...]]></description><category></category></item><item><title><![CDATA[【字符串】 空格替换练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82532893</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82532893</guid><author>Super_white</author><pubDate>Sat, 08 Sep 2018 20:21:55 +0800</pubDate><description><![CDATA[**请编写一个方法，将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符，并且知道字符串的真实长度(小于等于1000)，同时保证字符串由大小写的英文字母组成。

给定一个string iniString 为原始的串，以及串的长度 int len, 返回替换后的string。

测试样例： 
“Mr John Smith”,13 
返回：”Mr%20John%20Smith”...]]></description><category></category></item><item><title><![CDATA[【字符串】拼接最小字典序练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82467405</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82467405</guid><author>Super_white</author><pubDate>Thu, 06 Sep 2018 20:16:13 +0800</pubDate><description><![CDATA[**对于一个给定的字符串数组，请找到一种拼接顺序，使所有小字符串拼接成的大字符串是所有可能的拼接中字典序最小的。

给定一个字符串数组strs，同时给定它的大小，请返回拼接成的串。

测试样例： 
[“abc”,”de”],2 
“abcde”**



import java.util.*;

public class Prior {
    public class MyComparator ...]]></description><category></category></item><item><title><![CDATA[【字符串】字符串移位练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82467380</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82467380</guid><author>Super_white</author><pubDate>Thu, 06 Sep 2018 20:14:50 +0800</pubDate><description><![CDATA[**对于一个字符串，请设计一个算法，将字符串的长度为len的前缀平移到字符串的最后。

给定一个字符串A和它的长度，同时给定len，请返回平移后的字符串。

测试样例： 
“ABCDE”,5,3 
返回：”DEABC”**



import java.util.*;

public class Translation {
    public String stringTranslation(S...]]></description><category></category></item><item><title><![CDATA[【字符串】句子的逆序练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82467359</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82467359</guid><author>Super_white</author><pubDate>Thu, 06 Sep 2018 20:13:37 +0800</pubDate><description><![CDATA[**对于一个字符串，请设计一个算法，只在字符串的单词间做逆序调整，也就是说，字符串由一些由空格分隔的部分组成，你需要将这些部分逆序。

给定一个原字符串A和他的长度，请返回逆序后的字符串。

测试样例： 
“dog loves pig”,13 
返回：”pig loves dog”**



import java.util.*;

public class Reverse {
    publi...]]></description><category></category></item><item><title><![CDATA[【字符串】两串旋转练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82467343</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82467343</guid><author>Super_white</author><pubDate>Thu, 06 Sep 2018 20:12:23 +0800</pubDate><description><![CDATA[**如果对于一个字符串A，将A的前面任意一部分挪到后边去形成的字符串称为A的旋转词。比如A=”12345”,A的旋转词有”12345”,”23451”,”34512”,”45123”和”51234”。对于两个字符串A和B，请判断A和B是否互为旋转词。

给定两个字符串A和B及他们的长度lena，lenb，请返回一个bool值，代表他们是否互为旋转词。

测试样例： 
“cdab”,4,”abcd”...]]></description><category></category></item><item><title><![CDATA[【字符串】词语变形练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82467281</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82467281</guid><author>Super_white</author><pubDate>Thu, 06 Sep 2018 20:08:48 +0800</pubDate><description><![CDATA[**对于两个字符串A和B，如果A和B中出现的字符种类相同且每种字符出现的次数相同，则A和B互为变形词，请设计一个高效算法，检查两给定串是否互为变形词。

给定两个字符串A和B及他们的长度，请返回一个bool值，代表他们是否互为变形词。

测试样例： 
“abc”,3,”bca”,3 
返回：true**



import java.util.*;

public class Transform ...]]></description><category></category></item><item><title><![CDATA[【字符串】拓扑结构相同子树练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82467248</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82467248</guid><author>Super_white</author><pubDate>Thu, 06 Sep 2018 20:06:28 +0800</pubDate><description><![CDATA[**对于两棵彼此独立的二叉树A和B，请编写一个高效算法，检查A中是否存在一棵子树与B树的拓扑结构完全相同。

给定两棵二叉树的头结点A和B，请返回一个bool值，代表A中是否存在一棵同构于B的子树**



import java.util.*;

/*
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    T...]]></description><category></category></item><item><title><![CDATA[【二叉树】最大二叉搜索子树练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82467021</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82467021</guid><author>Super_white</author><pubDate>Thu, 06 Sep 2018 19:51:58 +0800</pubDate><description><![CDATA[**有一棵二叉树，其中所有节点的值都不一样,找到含有节点最多 的搜索二叉子树,并返回这棵子树的头节点.

给定二叉树的头结点root，请返回所求的头结点,若出现多个节点最多的子树，返回头结点权值最大的。**



import java.util.*;
/*
public class TreeNode {
    int val = 0;
    TreeNode left = null;
   ...]]></description><category></category></item><item><title><![CDATA[[二叉树]树上最远距离练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82466895</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82466895</guid><author>Super_white</author><pubDate>Thu, 06 Sep 2018 19:42:12 +0800</pubDate><description><![CDATA[**从二叉树的节点A出发，可以向上或者向下走，但沿途的节点只能经过一次，当到达节点B时，路径上的节点数叫作A到B的距离。对于给定的一棵二叉树，求整棵树上节点间的最大距离。

给定一个二叉树的头结点root，请返回最大距离。保证点数大于等于2小于等于500.**



import java.util.*;

/*
public class TreeNode {
    int val = 0;
 ...]]></description><category></category></item><item><title><![CDATA[【二叉树】寻找错误结点练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82466864</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82466864</guid><author>Super_white</author><pubDate>Thu, 06 Sep 2018 19:40:26 +0800</pubDate><description><![CDATA[**一棵二叉树原本是搜索二叉树，但是其中有两个节点调换了位置，使得这棵二叉树不再是搜索二叉树，请找到这两个错误节点并返回他们的值。保证二叉树中结点的值各不相同。

给定一棵树的根结点，请返回两个调换了位置的值，其中小的值在前。**



import java.util.*;

/*
public class TreeNode {
    int val = 0;
    TreeNode lef...]]></description><category></category></item><item><title><![CDATA[【二叉树】折纸练习题]]></title><link>https://blog.youkuaiyun.com/Super_white/article/details/82466800</link><guid>https://blog.youkuaiyun.com/Super_white/article/details/82466800</guid><author>Super_white</author><pubDate>Thu, 06 Sep 2018 19:35:53 +0800</pubDate><description><![CDATA[import java.util.*;

public class FoldPaper {
    public String[] foldPaper(int n) {
      List&amp;amp;amp;amp;lt;String&amp;amp;amp;amp;gt; list=new ArrayList&amp;amp;amp;amp;lt;String&amp;amp;amp;amp;gt;();
        fold(1,n,true,list);
        String[] ]]></description><category></category></item></channel></rss>