原创 反轉鏈表的遞歸寫法,保證看懂

private ListNode reverse(ListNode head){ if (head == null || head.next == null) return head;

原创 try catch finally return執行順序

結論: 1、不管有木有出現異常,finally塊中代碼都會執行; 2、當try和catch中有return時,finally仍然會執行; 3、finally是在return後面的表達式運算後執行的(此時並沒有返回運算後的值,而是先

原创 leetcode435

//無重疊區間 class Solution { //intervals爲n行2列數組 public int eraseOverlapIntervals(int[][] intervals) { i

原创 leetcode215

class Solution { public int findKthLargest(int[] nums, int k) { //利用快排的思路也可以解決 int k1=nums.length

原创 LeetCode215

在未排序的數組中找到第 k 個最大的元素。請注意,你需要找的是數組排序後的第 k 個最大的元素,而不是第 k 個不同的元素。 示例 1: 輸入: [3,2,1,5,6,4] 和 k = 2 輸出: 5 示例 2: 輸入: [3,2,3

原创 leetcode680

給定一個非空字符串 s,最多刪除一個字符。判斷是否能成爲迴文字符串。 示例 1: 輸入: “aba” 輸出: True 示例 2: 輸入: “abca” 輸出: True 解釋: 你可以刪除c字符。 class Solution {

原创 leetcode141

給定一個鏈表,判斷鏈表中是否有環。 爲了表示給定鏈表中的環,我們使用整數 pos 來表示鏈表尾連接到鏈表中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該鏈表中沒有環。 示例 1: 輸入:head = [3,2,0,-4]

原创 leetcode167

給定一個已按照升序排列 的有序數組,找到兩個數使得它們相加之和等於目標數。 函數應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。 說明: 返回的下標值(index1 和 index2)

原创 如何實現一個LRU帶詳細註釋,保證看懂

class LRUCache { int capacity;//LRUcache容量 Node head; // head指向最老的 Node tail; // tail指向的是最近使用的

原创 LeetCode19刪除鏈表的倒數第N個節點

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * Lis

原创 Leetcode2兩數相加

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * Lis

原创 阿里面試題——多線程

package BINGFA; import java.util.concurrent.atomic.AtomicInteger; //有三個線程ID分別是A、B、C,請用多線編程實現,在屏幕上循環打印10次ABCABC //請補

原创 Leetcode31 下一個排列

package com.huoli.spider; public class solution { public void nextPermutation(int[] nums) { int n=nums.l

原创 LeetCode24兩兩交換鏈表節點

給定一個鏈表,兩兩交換其中相鄰的節點,並返回交換後的鏈表。 你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。 示例: 給定 1->2->3->4, 你應該返回 2->1->4->3. /** * Definition

原创 統計一個字符串字符出現最多的次數

public class test { public static void main(String[] args) { System.out.println(findMaxValue("abcda"));