LeetCode题解-逆波兰表达式求值-Java

一看就懂,用的栈,表达式求值的经典套路 class Solution { public int evalRPN(String[] tokens) { Stack<Integer> numStack=new Stack<>(); for (String token : toke...

LeetCode题解-相交链表-Java

不多说,上代码,一看就懂。主要思路就是 从链表尾往链表头看 public class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB) { int countA=getCount(headA)...

LeetCode题解-颜色分类-Java

取了个巧,不具备强适用性,可以参考下: public class SortColors { public static void main(String[] args) { new SortColors().sortColors(new int[]{2,0,2,1,1,0}); } public v...

LeetCode题解-二叉搜索树中第K小的元素-Java

主要思路是: 根据二叉搜索树中节点左小右大的特点,使用中序遍历的方式,即可顺序找到第k小元素。 代码如下: package easy; import tree.TreeNode; public class KthSmallest { private TreeNode tarNode; private...

LeetCode题解-Excel表列序号-Java

Excel表列序号题解,这个和罗马数字转换比较类似,都是比较实用的题。下面是题解,可以参考 package easy; import java.util.HashMap; import java.util.Map; public class TitleToNumber { public static...

LeetCode题解- 两两交换链表中的节点-Java

这是一道链表题。做链表的题,可以增加对指针,或者说引用的概念的理解。所以这也是一个有意思的题。下面是题解,没有思路的话可以参考看看: class Solution { public static ListNode swapPairs(ListNode head) { if(head==null||h...

LeetCode题解-合并K个有序数组-Java

利用21题合并两个有序数组的代码,使用for循环进行合并,效率较低;参照第一名的代码,使用分治,改变对数组的处理方法,可以大幅度提高处理效率: 修改后: public ListNode mergeKLists(ListNode[] lists) { if(lists&#...

LeetCode题解-有效的括号-Java

这是一道比较经典的使用栈的题。总的来说难度不大,比较有趣。建议先自己玩玩,没什么思路可以看看我这边的题解。 class Solution { public static boolean isValid(String s) { if(s.isEmpty())return true; else { in...

LeetCode-电话号码的字母组合-Java

用了HashMap,效率还行,不过感觉有更优的解法。后边再考虑优化。 class Solution { public static List<String> letterCombinations(String digits) { if(digits.isEmpty())return ne...

LeetCode题解-最长公共前缀-Java

最长公共前缀,这是一个暴力的解法,没有思路的话可以看看。 class Solution { public String longestCommonPrefix(String[] strs) { //输入只包含a-z if(strs.length==0)return ""; int ...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

LeetCode java相关内容