<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[WallBreakerBhy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/WallBreakerBhy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; WallBreakerBhy]]></copyright><item><title><![CDATA[西山居开发三面凉经]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/89250746</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/89250746</guid><author>WallBreakerBhy</author><pubDate>Fri, 12 Apr 2019 18:31:27 +0800</pubDate><description><![CDATA[一面
手撕，链表删除所以值为指定元素的结点，基本题

手撕，给定N个数，计算这N个数两两间二进制表示的不同位数，如4(0100)，14(1110)，2(0010),4与14的二进制差值为2，4与2为2，14与2为2，结果为6。每个数的范围为0~10^9。

暴力就不写了。

将每个数当作固定32位的二进制串，计算第i位0与1的次数，相乘得一个结果，遍历每一位即可得到结果。复杂度O(N)。

项目介...]]></description><category></category></item><item><title><![CDATA[微众银行实习一面（Java后台开发）]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/88865285</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/88865285</guid><author>WallBreakerBhy</author><pubDate>Thu, 28 Mar 2019 11:27:01 +0800</pubDate><description><![CDATA[自我介绍

GET和POST区别

项目：用户登录注册安全问题、SQL注入，文件上传很大的时候如何处理，多线程用户注册如何处理

juc包下有哪些熟悉的

HashMap多线程下可能造成的问题，添加、删除时

实现一个多线程安全的单向有序链表，add单个结点、与其他链表合并

项目最大的难点及如何解决

对实习的预期和规划
...]]></description><category></category></item><item><title><![CDATA[Java内存区域]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/88835688</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/88835688</guid><author>WallBreakerBhy</author><pubDate>Wed, 27 Mar 2019 08:51:06 +0800</pubDate><description><![CDATA[程序计数器

线程私有，可以看作当前线程所执行的字节码的行号指示器。字节码解释器工作时通过 改变这个计数器的值来选取吓一跳需要执行的字节码指令。因为每次线程切换后需要保存当前执行到的位置，所以每个线程都需要有一个程序计数器。若当前线程执行的是一个Java方法，则记录正在执行的虚拟机字节码指向的地址；若执行的是Native方法，则为空。此区域是唯一没有OOM情况的内存区域。

Java虚拟机栈
...]]></description><category></category></item><item><title><![CDATA[leetcode 136 只出现一次的数字]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/86755986</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/86755986</guid><author>WallBreakerBhy</author><pubDate>Sun, 03 Feb 2019 08:47:30 +0800</pubDate><description><![CDATA[给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。

说明：

你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗？

示例 1:


输入: [2,2,1]
输出: 1


示例 2:


输入: [4,1,2,1,2]
输出: 4

使用额外空间
创建一个Hash Set来保存数据，遍历数组，若num存在与set中，则删除该num...]]></description><category></category></item><item><title><![CDATA[leetcode 104. 二叉树的最大深度]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84870502</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84870502</guid><author>WallBreakerBhy</author><pubDate>Fri, 07 Dec 2018 10:28:46 +0800</pubDate><description><![CDATA[给定一个二叉树，找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

示例：
给定二叉树 [3,9,20,null,null,15,7]，


    3
   / \
  9  20
    /  \
   15   7

返回它的最大深度 3 

求最大深度相当于求树的高度，有递归和迭代两种做法，递归的做法相比大家都直到怎么做...]]></description><category></category></item><item><title><![CDATA[leetcode 103. 二叉树的锯齿形层次遍历]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84866196</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84866196</guid><author>WallBreakerBhy</author><pubDate>Thu, 06 Dec 2018 22:18:58 +0800</pubDate><description><![CDATA[给定一个二叉树，返回其节点值的锯齿形层次遍历。（即先从左往右，再从右往左进行下一层遍历，以此类推，层与层之间交替进行）。

例如：
给定二叉树 [3,9,20,null,null,15,7],


    3
   / \
  9  20
    /  \
   15   7


返回锯齿形层次遍历如下：


[
  [3],
  [20,9],
  [15,7]
]

题意要求实现每遍历一层就反...]]></description><category></category></item><item><title><![CDATA[leetcode 102. 二叉树的层次遍历]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84865607</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84865607</guid><author>WallBreakerBhy</author><pubDate>Thu, 06 Dec 2018 21:38:31 +0800</pubDate><description><![CDATA[给定一个二叉树，返回其按层次遍历的节点值。 （即逐层地，从左到右访问所有节点）。

例如:
给定二叉树: [3,9,20,null,null,15,7],


    3
   / \
  9  20
    /  \
   15   7


返回其层次遍历结果：


[
  [3],
  [9,20],
  [15,7]
]

将二叉树用队列bfs展开，用left记录当前层还有多少个节点需要记录...]]></description><category></category></item><item><title><![CDATA[leetcode 872. 叶子相似的树]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84823647</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84823647</guid><author>WallBreakerBhy</author><pubDate>Wed, 05 Dec 2018 10:58:42 +0800</pubDate><description><![CDATA[请考虑一颗二叉树上所有的叶子，这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。



举个例子，如上图所示，给定一颗叶值序列为 (6, 7, 4, 9, 8) 的树。

如果有两颗二叉树的叶值序列是相同，那么我们就认为它们是 叶相似 的。

如果给定的两个头结点分别为 root1 和 root2 的树是叶相似的，则返回 true；否则返回 false 。

 

提示：

给定的两颗树可能会...]]></description><category></category></item><item><title><![CDATA[leetcode 897. 递增顺序查找树]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84783343</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84783343</guid><author>WallBreakerBhy</author><pubDate>Tue, 04 Dec 2018 09:47:03 +0800</pubDate><description><![CDATA[给定一个树，按中序遍历重新排列树，使树中最左边的结点现在是树的根，并且每个结点没有左子结点，只有一个右子结点。

 

示例 ：


输入：[5,3,6,2,4,null,8,1,null,null,null,7,9]

       5
      / \
    3    6
   / \    \
  2   4    8
 /        / \ 
1        7   9

输出：...]]></description><category></category></item><item><title><![CDATA[leetcode 101. 对称二叉树]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84749736</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84749736</guid><author>WallBreakerBhy</author><pubDate>Mon, 03 Dec 2018 10:30:30 +0800</pubDate><description><![CDATA[给定一个二叉树，检查它是否是镜像对称的。

例如，二叉树 [1,2,2,3,4,4,3] 是对称的。


    1
   / \
  2   2
 / \ / \
3  4 4  3


但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:


    1
   / \
  2   2
   \   \
   3    3


说明:

如果你可以运用递归和迭代两种方法解...]]></description><category></category></item><item><title><![CDATA[leetcode 58. 最后一个单词的长度]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84706511</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84706511</guid><author>WallBreakerBhy</author><pubDate>Sun, 02 Dec 2018 12:30:23 +0800</pubDate><description><![CDATA[给定一个仅包含大小写字母和空格 ' ' 的字符串，返回其最后一个单词的长度。

如果不存在最后一个单词，请返回 0 。

说明：一个单词是指由字母组成，但不包含任何空格的字符串。

示例:


输入: &quot;Hello World&quot;
输出: 5

首先判断特殊情况，如s为空时返回0；

再令i指向最后一个不为空格的字符，从该字符开始往前计数，直到再次遇到空格或i等于0.


class Solutio...]]></description><category></category></item><item><title><![CDATA[leetcode 937. 重新排列日志文件]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84672427</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84672427</guid><author>WallBreakerBhy</author><pubDate>Sat, 01 Dec 2018 12:11:16 +0800</pubDate><description><![CDATA[你有一个日志数组 logs。每条日志都是以空格分隔的字串。

对于每条日志，其第一个字为字母数字标识符。然后，要么：

标识符后面的每个字将仅由小写字母组成，或；
	标识符后面的每个字将仅由数字组成。
我们将这两种日志分别称为字母日志和数字日志。保证每个日志在其标识符后面至少有一个字。

将日志重新排序，使得所有字母日志都排在数字日志之前。字母日志按字母顺序排序，忽略标识符，标识符仅用于表示关系。...]]></description><category></category></item><item><title><![CDATA[leetcode 791. 自定义字符串排序]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84645496</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84645496</guid><author>WallBreakerBhy</author><pubDate>Fri, 30 Nov 2018 11:11:44 +0800</pubDate><description><![CDATA[字符串S和 T 只包含小写字符。在S中，所有字符只会出现一次。

S 已经根据某种规则进行了排序。我们要根据S中的字符顺序对T进行排序。更具体地说，如果S中x在y之前出现，那么返回的字符串中x也应出现在y之前。

返回任意一种符合条件的字符串T。


示例:
输入:
S = &quot;cba&quot;
T = &quot;abcd&quot;
输出: &quot;cbad&quot;
解释: 
S中出现了字符 &quot;a&quot;, &quot;b&quot;, &quot;c&quot;, 所以]]></description><category></category></item><item><title><![CDATA[leetcode 890. 查找和替换模式]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84618511</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84618511</guid><author>WallBreakerBhy</author><pubDate>Thu, 29 Nov 2018 10:54:05 +0800</pubDate><description><![CDATA[你有一个单词列表 words 和一个模式  pattern，你想知道 words 中的哪些单词与模式匹配。

如果存在字母的排列 p ，使得将模式中的每个字母 x 替换为 p(x) 之后，我们就得到了所需的单词，那么单词与模式是匹配的。

（回想一下，字母的排列是从字母到字母的双射：每个字母映射到另一个字母，没有两个字母映射到同一个字母。）

返回 words 中与给定模式匹配的单词列表。

你可...]]></description><category></category></item><item><title><![CDATA[leetcode 443. 压缩字符串]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84582093</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84582093</guid><author>WallBreakerBhy</author><pubDate>Wed, 28 Nov 2018 12:05:39 +0800</pubDate><description><![CDATA[给定一组字符，使用原地算法将其压缩。

压缩后的长度必须始终小于或等于原数组长度。

数组的每个元素应该是长度为1 的字符（不是 int 整数类型）。

在完成原地修改输入数组后，返回数组的新长度。

 

进阶：
你能否仅使用O(1) 空间解决问题？

 

示例 1：


输入：
[&quot;a&quot;,&quot;a&quot;,&quot;b&quot;,&quot;b&quot;,&quot;c&quot;,&quot;c&quot;,&quot;c&quot;]

输出：
返回6，输入数组]]></description><category></category></item><item><title><![CDATA[leetcode 151. 翻转字符串里的单词]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84575852</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84575852</guid><author>WallBreakerBhy</author><pubDate>Wed, 28 Nov 2018 00:03:17 +0800</pubDate><description><![CDATA[给定一个字符串，逐个翻转字符串中的每个单词。

示例:  


输入: &quot;the sky is blue&quot;,
输出: &quot;blue is sky the&quot;.


说明:

无空格字符构成一个单词。
	输入字符串可以在前面或者后面包含多余的空格，但是反转后的字符不能包括。
	如果两个单词间有多余的空格，将反转后单词间的空格减少到只含一个。
进阶: 请选用C语言的用户尝试使用 O(1) 空间复杂度的原地...]]></description><category></category></item><item><title><![CDATA[剑指offer 变态跳台阶]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84558641</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84558641</guid><author>WallBreakerBhy</author><pubDate>Mon, 26 Nov 2018 23:55:03 +0800</pubDate><description><![CDATA[题目描述

一只青蛙一次可以跳上1级台阶，也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

假设这只青蛙第一次跳了i级台阶，那么就剩下n-i级台阶可以跳，即第一次固定跳i级时，f(n)=f(n-i)；当i取不同的值时，f(n)就有不同的结果，最终有：

f(n) = f(n-1)+f(n-2)+f(n-3)+...+f(n-(n-1))+f(n-n) = f(0)...]]></description><category></category></item><item><title><![CDATA[leetcode 125. 验证回文串]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84533306</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84533306</guid><author>WallBreakerBhy</author><pubDate>Mon, 26 Nov 2018 12:08:27 +0800</pubDate><description><![CDATA[给定一个字符串，验证它是否是回文串，只考虑字母和数字字符，可以忽略字母的大小写。

说明：本题中，我们将空字符串定义为有效的回文串。

示例 1:


输入: &quot;A man, a plan, a canal: Panama&quot;
输出: true


示例 2:


输入: &quot;race a car&quot;
输出: false

注意读题，题目中说了只考虑字母和数字，对于别的字符如空格，特殊字符等都忽略不算。...]]></description><category></category></item><item><title><![CDATA[leetcode 944. 删除列以使之有序]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84528242</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84528242</guid><author>WallBreakerBhy</author><pubDate>Mon, 26 Nov 2018 10:50:18 +0800</pubDate><description><![CDATA[给出由 N 个小写字母串组成的数组 A，所有小写字母串的长度都相同。

现在，我们可以选择任何一组删除索引，对于每个字符串，我们将删除这些索引中的所有字符。

举个例子，如果字符串为 &quot;abcdef&quot;，且删除索引是 {0, 2, 3}，那么删除之后的最终字符串为 &quot;bef&quot;。

假设我们选择了一组删除索引 D，在执行删除操作之后，A 中剩余的每一列都是有序的。

形式上，第 c 列为 [A[0][...]]></description><category></category></item><item><title><![CDATA[leetcode 11 盛最多水的容器]]></title><link>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84477632</link><guid>https://blog.youkuaiyun.com/WallBreakerBhy/article/details/84477632</guid><author>WallBreakerBhy</author><pubDate>Sun, 25 Nov 2018 10:53:10 +0800</pubDate><description><![CDATA[给定 n 个非负整数 a1，a2，...，an，每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线，垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线，使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明：你不能倾斜容器，且 n 的值至少为 2。



图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下，容器能够容纳水（...]]></description><category></category></item></channel></rss>