![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
力扣练习(Java)
通过Java来练习力扣
JIngles123
生命不息,奋斗不止
展开
-
力扣-199题(Java)-ArrayList和LinkedList的再次熟悉
题目链接:https://leetcode-cn.com/problems/binary-tree-right-side-view/题目如下:注:有几种情况,可能一下子会下没想到的/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * Tre原创 2021-07-06 11:39:05 · 158 阅读 · 0 评论 -
力扣-107题(Java)-层次遍历+Collections.reverse方法真香
题目链接:https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/题目如下:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int va原创 2021-07-06 10:43:41 · 161 阅读 · 0 评论 -
力扣-103题(Java)-队列+队列常用方法规整+受大宝的教导
题目链接:https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal/题目如下:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(in原创 2021-07-05 09:57:24 · 84 阅读 · 0 评论 -
力扣-102题(Java and C++)-队列+二叉树层序遍历+附大宝的C++版
题目链接:https://leetcode-cn.com/problems/binary-tree-level-order-traversal/题目如下:Java:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int原创 2021-06-29 21:25:05 · 186 阅读 · 0 评论 -
力扣-445题(Java)-两数相加使用栈+进位等惯用代码+反转链表有大宝
题目链接:https://leetcode-cn.com/problems/add-two-numbers-ii/题目如下:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(in原创 2021-06-23 22:13:12 · 94 阅读 · 1 评论 -
力扣-852题(Java)-时间复杂度O(n)
题目链接:https://leetcode-cn.com/problems/peak-index-in-a-mountain-array/题目如下:class Solution { public int peakIndexInMountainArray(int[] arr) { int max=arr[0]; int pos=0; for(int i=1;i<arr.length;i++) if(arr[i]>=m原创 2021-06-15 22:11:20 · 307 阅读 · 0 评论 -
力扣-150题(Java)-栈+string类型转整数及转字符数组
题目链接:https://leetcode-cn.com/problems/evaluate-reverse-polish-notation/题目如下:class Solution { public int evalRPN(String[] tokens) { //tip: //1、Java中的栈的定义及使用,其中pop()是弹出并返回元素值,peek()是返回值但不弹出 //2、string转为一个字符数组:char[] toCharArr原创 2021-06-15 22:02:28 · 1268 阅读 · 1 评论 -
力扣-147题(Java)-我家大宝有帮忙,链表中的重要注意点
题目链接:https://leetcode-cn.com/problems/insertion-sort-list/题目如下:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(原创 2021-06-12 10:17:08 · 1192 阅读 · 2 评论 -
力扣-328题(Java)-链表的双指针法
题目链接:https://leetcode-cn.com/problems/odd-even-linked-list/题目如下:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(原创 2021-06-10 23:18:18 · 110 阅读 · 2 评论 -
力扣-24题(Java)-链表节点交换
题目链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/题目如下:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(原创 2021-06-08 21:53:20 · 126 阅读 · 0 评论 -
力扣-206题(Java)-空链表中依次放入节点
题目链接:https://leetcode-cn.com/problems/reverse-linked-list/题目如下:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(原创 2021-06-04 23:29:10 · 131 阅读 · 2 评论 -
力扣-219题(Java)-哈希map
题目链接:https://leetcode-cn.com/problems/contains-duplicate-ii/题目如下:class Solution { public boolean containsNearbyDuplicate(int[] nums, int k) { HashMap<Integer,Integer> hash=new HashMap<Integer,Integer>(); for(int i=0;i<原创 2021-05-30 23:01:32 · 157 阅读 · 1 评论 -
力扣-145题(Java)-树的后序遍历-递归
题目链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal/题目如下:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) {原创 2021-05-27 23:25:25 · 111 阅读 · 0 评论 -
力扣-94题目(Java)-树的中序遍历(ArrayList)
题目链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/题目如下:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) {原创 2021-05-27 23:15:47 · 111 阅读 · 0 评论 -
力扣-461题(Java)-ArrayList
题目链接:https://leetcode-cn.com/problems/hamming-distance/题目如下:class Solution { public int hammingDistance(int x, int y) { int len,count=0; List<Integer> array1=new ArrayList<Integer>(); List<Integer> array2=ne原创 2021-05-27 22:47:24 · 102 阅读 · 0 评论 -
力扣-144题(Java)-树的前序遍历(ArrayList)
题目链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/题目如下:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) {原创 2021-05-27 21:18:21 · 110 阅读 · 0 评论 -
力扣-496题(Java)-单调栈+哈希
题目链接:https://leetcode-cn.com/problems/next-greater-element-i/题目如下:class Solution { public int[] nextGreaterElement(int[] nums1, int[] nums2) { //tip: //1、单调栈:栈中的元素从栈顶到栈底是单调不降低的 //2、对nums2先行处理,nums1只适用于key查找对应的value原创 2021-05-19 22:03:43 · 123 阅读 · 0 评论 -
力扣-20题(Java)-栈+哈希
题目链接:https://leetcode-cn.com/problems/valid-parentheses/题目如下:class Solution { public boolean isValid(String s) { if(s.length()%2!=0) return false;//长度必须是偶数 LinkedList<Character> stack=new LinkedList<Character>();原创 2021-05-19 20:32:45 · 108 阅读 · 0 评论 -
力扣-67题(Java)-数组+整数转字符串
题目链接:https://leetcode-cn.com/problems/add-binary/题目如下;class Solution { public String addBinary(String a, String b) { //tip: //1、进位的英文:carry //2、处理相加问题,先正常加,再判断是否有进位,如有,则加上,并将标志位设为0 //3、将整数转换为字符串的固定语句是:String result=I原创 2021-05-18 23:29:59 · 133 阅读 · 0 评论 -
力扣-442题(Java)-List
题目链接:https://leetcode-cn.com/problems/find-all-duplicates-in-an-array/题目如下:class Solution { public List<Integer> findDuplicates(int[] nums) { Arrays.sort(nums); //list声明,前面可总,后面需详细,后者的数据类型可以不必加上 List<Integer> list原创 2021-05-18 20:18:18 · 110 阅读 · 0 评论 -
力扣-118题(Java)-注意List写法
题目链接:https://leetcode-cn.com/problems/pascals-triangle/题目如下:class Solution { public List<List<Integer>> generate(int numRows) { //List<List<Integer>> sumlist=new ArrayList<Integer>();// 会报错原创 2021-05-16 22:27:34 · 127 阅读 · 0 评论 -
力扣-19题(Java)-链表删元素
题目链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/题目如下:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } *原创 2021-05-16 21:13:33 · 145 阅读 · 4 评论 -
力扣-66题(Java)-数组返回指定内容
题目链接:https://leetcode-cn.com/problems/plus-one/题目如下:class Solution { public int[] plusOne(int[] digits) { //tip: //1、新建一个长度为当前长度+1的数组,并从数组的最后一位依次向前开始存放 //2、数组返回指定内容的方法为 Arrays.copyOfRange(array,pos+1,digits.length+1)原创 2021-05-15 22:14:49 · 265 阅读 · 0 评论 -
力扣-169题(Java)-哈希
题目链接:https://leetcode-cn.com/problems/majority-element/题目如下:class Solution { public int majorityElement(int[] nums) { HashMap<Integer,Integer> hashmap=new HashMap<Integer,Integer>(); int len=nums.length; int numbe原创 2021-05-15 21:18:05 · 56 阅读 · 0 评论 -
力扣-290题(Java)-哈希+String分隔,对我有价值
题目链接:https://leetcode-cn.com/problems/word-pattern/题目如下:class Solution { public boolean wordPattern(String pattern, String s) { HashMap<Character,String> hashmap=new HashMap<Character,String>(); char ch; String str;//key原创 2021-05-14 23:27:03 · 114 阅读 · 0 评论 -
力扣-409题(Java)
题目链接:https://leetcode-cn.com/problems/longest-palindrome/题目如下:class Solution { public int longestPalindrome(String s) { int len=s.length(); int[][] array=new int[2][26];//数组存放每个字母出现的个数 int count=0; int flag=0;//用于标记是否原创 2021-05-14 21:38:41 · 134 阅读 · 0 评论 -
力扣-202题(Java)-哈希
题目链接:https://leetcode-cn.com/problems/happy-number/题目如下:class Solution { public boolean isHappy(int n) { HashSet<Integer> hashset=new HashSet<Integer>(); int sum=0; //两种情况放在while跳出判断力: //1、可以变为1 //原创 2021-05-13 01:22:46 · 85 阅读 · 0 评论 -
力扣-3题(Java)-滑动窗口+哈希
题目链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/题目如下:class Solution { public int lengthOfLongestSubstring(String s) { int l=0,r=-1;//滑动窗口的左右边界 int maxlen=0,count; HashMap<Character,Int原创 2021-05-07 23:28:16 · 159 阅读 · 0 评论 -
力扣-387题(Java)-哈希
题目链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string/题目如下:class Solution { public int firstUniqChar(String s) { HashMap<Character,Integer> hashmap=new HashMap<Character,Integer>(); //题目的理解:凡是字符串中出现的所有字原创 2021-05-07 21:40:47 · 110 阅读 · 0 评论 -
力扣-209题(Java)-双指针滑动窗口
题目链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum/题目如下:class Solution { public int minSubArrayLen(int target, int[] nums) { int l=0,r=-1;//nums[l...r]为当前的滑动窗口 int sum=0,minlen=nums.length+1;//以防所有元素都是满足条件的值原创 2021-05-07 20:48:34 · 216 阅读 · 0 评论 -
力扣-961题(Java)-哈希
题目链接:https://leetcode-cn.com/problems/n-repeated-element-in-size-2n-array/题目如下:class Solution { public int repeatedNTimes(int[] A) { int n=A.length/2; HashMap<Integer,Integer> hashmap=new HashMap<Integer,Integer>();原创 2021-05-06 20:45:59 · 46 阅读 · 0 评论 -
力扣-389题(Java)-哈希
题目链接:https://leetcode-cn.com/problems/find-the-difference/题目如下:class Solution { public char findTheDifference(String s, String t) { HashMap<Character,Integer> hashmap=new HashMap<Character,Integer>(); for(int i=原创 2021-05-06 19:56:27 · 114 阅读 · 0 评论 -
力扣-242题(Java)-哈希
题目链接:https://leetcode-cn.com/problems/valid-anagram/题目如下:class Solution { public boolean isAnagram(String s, String t) { //思路:既然是异位;则两个长度一定是相同的,不相同则必然有错 if(s.length()==t.length()) ; else return false; //注:在hashmap中对应原创 2021-05-05 22:50:09 · 175 阅读 · 0 评论 -
力扣-217题(Java)-哈希
题目链接:https://leetcode-cn.com/problems/contains-duplicate/题目如下:class Solution { public boolean containsDuplicate(int[] nums) { HashSet<Integer> hashset=new HashSet<Integer>(); int len=nums.length; for(int i=0;i<原创 2021-05-05 22:07:05 · 80 阅读 · 0 评论 -
力扣-86题(Java)-链表双指针
题目链接:https://leetcode-cn.com/problems/partition-list/题目如下:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int v原创 2021-05-04 23:14:37 · 89 阅读 · 0 评论 -
力扣-350题(Java)-哈希解决
题目链接:https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/题目如下:class Solution { public int[] intersect(int[] nums1, int[] nums2) { HashMap<Integer,Integer> hashmap=new HashMap<Integer,Integer>(); for(int i=0;i&l原创 2021-05-04 22:26:37 · 136 阅读 · 0 评论 -
力扣-349题(Java)-双指针
题目链接:https://leetcode-cn.com/problems/intersection-of-two-arrays/题目如下:class Solution { public int[] intersection(int[] nums1, int[] nums2) { int len1=nums1.length,len2=nums2.length; //排序确保都是升序 Arrays.sort(nums1); Arra原创 2021-05-01 21:23:04 · 124 阅读 · 0 评论 -
力扣-977题(Java)-双指针
题目链接:https://leetcode-cn.com/problems/squares-of-a-sorted-array/题目如下:class Solution { public int[] sortedSquares(int[] nums) { //题目中数组已是升序排序 //找出数组中负数和非负数的分界线 //如果全是非负数,则平方后升序;如果全是负数,则平方后为倒序 int len=nums.length;原创 2021-05-01 10:26:42 · 127 阅读 · 0 评论 -
力扣-925题(Java)-双指针
题目链接:https://leetcode-cn.com/problems/long-pressed-name/题目如下:class Solution { public boolean isLongPressedName(String name, String typed) { int pos_a=0,len_a=name.length(); int pos_b=0,len_b=typed.length(); while(pos_b<l原创 2021-04-30 10:51:37 · 82 阅读 · 0 评论 -
力扣-1800题(Java)
题目链接:https://leetcode-cn.com/problems/maximum-ascending-subarray-sum/题目如下:class Solution { public int maxAscendingSum(int[] nums) { int i,sum=nums[0],max=nums[0]; for(i=1;i<nums.length;i++){ if(nums[i]>nums[i-1]) s原创 2021-04-28 21:38:26 · 162 阅读 · 0 评论