
Java
Shine.C
这个作者很懒,什么都没留下…
展开
-
leetcode的第103题,二叉树的锯齿形层次遍历,java实现
题目链接一、层次遍历思想,迭代法根据题目名,最先想到的是采用层次遍历的方法,但是一分析发现,默认的队列记录法不好用了。经过画图分析,在开队列迭代层序遍历思想的基础上,开两个堆栈,分别记录奇数层和偶数层的节点。奇数层从右往左压栈,出栈时的循序,是从左往右的,把其子节点压到偶数层堆栈,偶数层堆栈出栈的顺序就符合图示要求,即从右往左的。如此递归循环。怎么记录现在在哪一层?每一轮,完成一...原创 2020-02-09 16:58:44 · 408 阅读 · 0 评论 -
二叉树递归遍历的图示
以二叉树的后序遍历为例。后序遍历的递归代码如下class Solution { List<Integer> ans = new LinkedList<>(); public List<Integer> postorderTraversal(TreeNode root) { if (root == null) return an...原创 2020-02-08 22:17:04 · 759 阅读 · 2 评论 -
leetcode第102题,二叉树的层次遍历,java实现
一、迭代法使用队列来记录层序遍历过程,借用队列先入先出特性,通过迭代实现层序遍历。运行结果执行结果:通过执行用时 :1 ms, 在所有 Java 提交中击败了98.72%的用户内存消耗 :36.5 MB, 在所有 Java 提交中击败了13.68%的用户代码与注释class Solution { public List<List<Integer>> ...原创 2020-02-03 19:02:49 · 314 阅读 · 0 评论 -
leetcode第4题,寻找两个有序数组的中位数,java实现
一、归并排序法此解答不满足题目要求:时间复杂度为O(log(m+n))。只是一个解决问题的思路。运行结果执行结果:通过执行用时 :4 ms, 在所有 Java 提交中击败了37.21%的用户内存消耗 :41.5 MB, 在所有 Java 提交中击败了97.21%的用户代码与注释class Solution { public double findMedianSortedAr...原创 2020-02-01 17:39:20 · 321 阅读 · 0 评论 -
leetcode第230题, 二叉搜索树中第K小的元素,java实现
一、迭代法运行结果执行结果:通过执行用时 :1 ms, 在所有 Java 提交中击败了83.31%的用户内存消耗 :37.9 MB, 在所有 Java 提交中击败了25.55%的用户代码与注释// 求解思路:题目已知条件是二叉搜索树,中序遍历得到的结果就是升序的。class Solution { public int kthSmallest(TreeNode root, i...原创 2020-01-31 21:53:46 · 441 阅读 · 0 评论 -
leetcode第98题,验证二叉搜索树,java实现
题目链接算法一、递归法运行结果执行结果:通过执行用时 :1 ms, 在所有 Java 提交中击败了85.83%的用户内存消耗 :39.1 MB, 在所有 Java 提交中击败了27.88%的用户代码与注释/** * Definition for a binary tree node. * public class TreeNode { * int val; * ...原创 2020-01-12 17:12:09 · 413 阅读 · 0 评论 -
leetcode第137题,只出现一次的数字II,java实现
题目链接算法一、位操作法运行结果执行结果:通过执行用时 :3 ms, 在所有 Java 提交中击败了59.91%的用户内存消耗 :36.8 MB, 在所有 Java 提交中击败了95.94%的用户代码与注释// 位操作class Solution { public int singleNumber(int[] nums) { int ans = 0; ...原创 2020-01-07 21:58:57 · 334 阅读 · 0 评论 -
leetcode第73题,矩阵置零,java实现
题目链接运行结果执行结果:通过执行用时 :2 ms, 在所有 Java 提交中击败了55.24%的用户内存消耗 :47.8 MB, 在所有 Java 提交中击败了87.63%的用户代码与注释class Solution { public void setZeroes(int[][] matrix) { int R = matrix.length; // 行长度...原创 2020-01-06 21:48:07 · 233 阅读 · 0 评论 -
leetcode第148题,排序链表,java实现
题目链接运行结果执行结果:通过执行用时 :993 ms, 在所有 Java 提交中击败了5.82%的用户内存消耗 :39.8 MB, 在所有 Java 提交中击败了98.65%的用户代码与注释/** * Definition for singly-linked list. * public class ListNode { * int val; * ListN...原创 2020-01-05 21:36:10 · 326 阅读 · 0 评论 -
leetcode第206题,反转链表,java实现
题目链接一、迭代法运行结果执行结果:通过执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户内存消耗:36.9 MB, 在所有 Java 提交中击败了49.11%的用户代码与注释/** * Definition for singly-linked list. * public class ListNode { * int val; * L...原创 2020-01-04 20:55:05 · 381 阅读 · 0 评论 -
leetcode第42题,接雨水,java实现
题目链接运行结果执行结果:通过执行用时 :2 ms, 在所有 Java 提交中击败了50.62%的用户内存消耗 :37.5 MB, 在所有 Java 提交中击败了83.13%的用户代码与注释class Solution { public int trap(int[] height) { int left = 1; // 左指针 int righ...原创 2020-01-04 11:50:14 · 594 阅读 · 0 评论 -
leetcode第11题,盛水最多的容器,java实现
题目链接运行结果执行结果:通过执行用时 :4 ms, 在所有 java 提交中击败了75.56%的用户内存消耗 :40 MB, 在所有 java 提交中击败了92.22%的用户代码与注释class Solution { public int maxArea(int[] height) { int max_area = 0; int i = 0;...原创 2020-01-01 14:54:04 · 421 阅读 · 0 评论 -
leetcode第7题,整数反转,java实现
题目链接运行结果执行结果:通过执行用时 :2 ms, 在所有 java 提交中击败了53.22%的用户内存消耗 :33.5 MB, 在所有 java 提交中击败了80.84%的用户代码和注释class Solution { public int reverse(int x) { int tmp = x; int revs = 0; ...原创 2020-01-01 11:30:37 · 225 阅读 · 0 评论 -
leetcode第3题,无重复字符的最长子串,java实现
题目链接运行结果执行结果:通过执行用时 :9 ms, 在所有 java 提交中击败了80.56%的用户内存消耗 :37.4 MB, 在所有 java 提交中击败了92.70%的用户代码实现class Solution { public int lengthOfLongestSubstring(String s) { int res = 0; /...原创 2019-12-29 17:21:53 · 290 阅读 · 0 评论 -
Leetcode第2题,计算两数相加,java实现。
题目链接运行结果执行结果:通过执行用时 :2 ms, 在所有 java 提交中击败了99.96%的用户内存消耗 :42.8 MB, 在所有 java 提交中击败了90.36%的用户代码和注释class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { // 最低位的进位值...原创 2019-12-28 11:31:12 · 371 阅读 · 0 评论