<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Renoler的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Renoler</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Renoler]]></copyright><item><title><![CDATA[102. Binary Tree Level Order Traversal]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/106518641</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/106518641</guid><author>Renoler</author><pubDate>Wed, 03 Jun 2020 10:44:39 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/binary-tree-level-order-traversal/
Solution1: recursive
class Solution {
    List&lt;List&lt;Integer&gt;&gt; levels = new ArrayList&lt;List&lt;Integer&gt;&gt;();
    
    public void helper(TreeNode root, int level) {
  ]]></description><category></category></item><item><title><![CDATA[145. Binary Tree Postorder Traversal]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/106378887</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/106378887</guid><author>Renoler</author><pubDate>Thu, 28 May 2020 13:01:52 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/binary-tree-postorder-traversal/
Solution1: 递归
class Solution {
    public void helper(TreeNode root, ArrayList&lt;Integer&gt; res) {
        if(root.left != null) helper(root.left, res);
        if(root.right != null) h]]></description><category></category></item><item><title><![CDATA[94. Binary Tree Inorder Traversal]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/106376406</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/106376406</guid><author>Renoler</author><pubDate>Wed, 27 May 2020 11:55:15 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/binary-tree-inorder-traversal/
Solution1：recursive递归
class Solution {
    public void helper(TreeNode root, ArrayList&lt;Integer&gt; res) {
        if(root.left != null) helper(root.left, res);
        res.add(root.val);]]></description><category></category></item><item><title><![CDATA[[Leetcode]144. Binary Tree Preorder Traversal]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/106352647</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/106352647</guid><author>Renoler</author><pubDate>Tue, 26 May 2020 12:30:41 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/binary-tree-preorder-traversal/
Solution1: 使用递归
class Solution {
    public void helper(TreeNode root, List&lt;Integer&gt; res) {
        if(root != null) res.add(root.val);
        if(root.left != null) helper(root.left]]></description><category></category></item><item><title><![CDATA[[Leetcode] Binary Search(69, 374, 33, 278, 162, 153, 34, 658, 270, 702, 50, 367, 349, 287, 4)]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105806705</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105806705</guid><author>Renoler</author><pubDate>Tue, 28 Apr 2020 11:10:20 +0800</pubDate><description><![CDATA[Binary Search
class Solution {
    public int search(int[] nums, int target) {
        if(nums.length == 0) return -1;
        int l = 0, r = nums.length -1;
        while(l &lt;= r) {
            int...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 283. Move Zeroes]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105786892</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105786892</guid><author>Renoler</author><pubDate>Mon, 27 Apr 2020 11:29:33 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/move-zeroes/
Solution: two pointers
class Solution {
    public void moveZeroes(int[] nums) {
        int len = nums.length;
        int left = 0;
        for(int i...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 26. Remove Duplicates from Sorted Array]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105764795</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105764795</guid><author>Renoler</author><pubDate>Sun, 26 Apr 2020 11:12:24 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/remove-duplicates-from-sorted-array/
Solution: two pointers
class Solution {
    public int removeDuplicates(int[] nums) {
        if (nums.length == 0) return 0;
 ...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 557. Reverse Words in a String III]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105764478</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105764478</guid><author>Renoler</author><pubDate>Sun, 26 Apr 2020 11:02:50 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/reverse-words-in-a-string-iii/
Solution: spilt + reverse
class Solution {
    public String reverseWords(String s) {
        if(s.length() == 0) return s;
        S...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 151. Reverse Words in a String]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105764099</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105764099</guid><author>Renoler</author><pubDate>Sun, 26 Apr 2020 10:49:05 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/reverse-words-in-a-string/
Solution: split + reverse
class Solution {
    public String reverseWords(String s) {
        if(s.length() == 0) return s;
        Strin...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 119. Pascal's Triangle II]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105747502</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105747502</guid><author>Renoler</author><pubDate>Sat, 25 Apr 2020 12:00:57 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/pascals-triangle-ii/
class Solution {
    public List&lt;Integer&gt; getRow(int rowIndex) {
        List&lt;Integer&gt; res = new ArrayList&lt;&gt;();
        List&...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 189. Rotate Array]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105728096</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105728096</guid><author>Renoler</author><pubDate>Fri, 24 Apr 2020 12:24:47 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/rotate-array/solution/
Solution: using reverse
class Solution {
    public void rotate(int[] nums, int k) {
        int len = nums.length;
        k = k % len;
    ...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 209. Minimum Size Subarray Sum]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105701414</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105701414</guid><author>Renoler</author><pubDate>Thu, 23 Apr 2020 10:28:44 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/minimum-size-subarray-sum/
Solution: 双指针
需要注意左边指针右移次数的判定
class Solution {
    public int minSubArrayLen(int s, int[] nums) {
        int sum = 0, cnt = Integer.MAX_...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 485. Max Consecutive Ones]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105679786</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105679786</guid><author>Renoler</author><pubDate>Wed, 22 Apr 2020 13:19:15 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/max-consecutive-ones/
Solution
class Solution {
    public int findMaxConsecutiveOnes(int[] nums) {
        int cnt = 0;
        int maxCnt = 0;
        int k = 0;
...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 27. Remove Element]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105674559</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105674559</guid><author>Renoler</author><pubDate>Wed, 22 Apr 2020 09:39:32 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/remove-element/
Solution: two pointers
class Solution {
    public int removeElement(int[] nums, int val) {
        int k = 0;
        for(int i=0; i &lt; nums.leng...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 167. Two Sum II - Input array is sorted]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105625928</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105625928</guid><author>Renoler</author><pubDate>Mon, 20 Apr 2020 01:08:39 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/
Solution: two pointers
class Solution {
    public int[] twoSum(int[] numbers, int target) {
        int[] res = new int[2];
     ...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 561. Array Partition I]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105607720</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105607720</guid><author>Renoler</author><pubDate>Sat, 18 Apr 2020 23:20:40 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/array-partition-i/
Solution:
Sort以后取偶数位数字之和
Sort以后取相邻会使得min(a, b)之和最小的原因是：
假设a &gt; b，则对于最后的结果，取(a, b)造成的损失是a-b
要使得损失最小，则a和b要离得最近，即相邻
class Solution {
    public in...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 344. Reverse String]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105607153</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105607153</guid><author>Renoler</author><pubDate>Sat, 18 Apr 2020 22:41:00 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/reverse-string/
遇上reverse，考虑双指针是否可用
Solution: 双指针
class Solution {
    public void reverseString(char[] s) {
        int len = s.length;
        if(len != 0) {
    ...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 14. Longest Common Prefix]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105590516</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105590516</guid><author>Renoler</author><pubDate>Sat, 18 Apr 2020 04:57:06 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/longest-common-prefix/
Solution 1: 横向比较
追踪最长前缀的长度，并依次进行比较
class Solution {
    public String longestCommonPrefix(String[] strs) {
        int len = strs.length;
   ...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 28. Implement strStr()]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105571485</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105571485</guid><author>Renoler</author><pubDate>Fri, 17 Apr 2020 10:11:15 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/implement-strstr/
Solution 1：寻找substring
class Solution {
    public int strStr(String haystack, String needle) {
        
        // needle is empty
        if(nee...]]></description><category></category></item><item><title><![CDATA[[Leetcode] 118. Pascal's Triangle]]></title><link>https://blog.youkuaiyun.com/Renoler/article/details/105547079</link><guid>https://blog.youkuaiyun.com/Renoler/article/details/105547079</guid><author>Renoler</author><pubDate>Wed, 15 Apr 2020 23:09:28 +0800</pubDate><description><![CDATA[link: https://leetcode.com/problems/pascals-triangle/
Solution:
动态规划
row[i] = preRow[i-1] + preRow[i]
class Solution {
    public List&lt;List&lt;Integer&gt;&gt; generate(int numRows) {
        List&l...]]></description><category></category></item></channel></rss>