leetcode
文章平均质量分 63
guanjianlujing
这个作者很懒,什么都没留下…
展开
-
leetcode Palindrome Number
点击打开链接 判断一个整数是不是回文整数 这个程序完全是试出来的, 首先没有想到十的整数倍会是一个bug 然后回文的形式有12321,1221两种情况 public class Solution { public boolean isPalindrome(int x) { if(x<0)return false; if(x==0)return tru原创 2015-03-04 13:25:57 · 274 阅读 · 0 评论 -
leetcode Roman to Integer
点击打开链接 如果连罗马字符都不认识还怎么写。。。。 看完别人的程序才知道如此简单。 怪不得有人说数学是逻辑,有人说数学是符号 估计在罗马人看来数学是符号。 public class Solution { public int romanToInt(String str) { int radix[] = {1000, 900, 500, 400, 100原创 2015-03-04 13:34:46 · 332 阅读 · 0 评论 -
leetcode Count and Say
https://oj.leetcode.com/problems/count-and-say/ 感觉这是一个有点综合的题目了。 后一个的结果只跟它的前一个有关。可以用双变量轮换大法。 一些经典的算法: 1.单链表双指针方法 2.双变量轮换大法 3.删除重复元素的算法,指针从前向后依次移动。 4树结构考虑递归。 另外,给字符数个数的时候注意,这也是一个挺有意思的算法。 public原创 2015-03-05 16:24:34 · 294 阅读 · 0 评论 -
leetcode Longest Common Prefix
点击打开链接 求最长公共前缀 要找到两个变量,字符串数组的长度,最短字符串的长度。 public class Solution { public String longestCommonPrefix(String[] strs) { if(strs==null)return null; if(strs.length==0)return "";原创 2015-03-04 13:45:20 · 350 阅读 · 0 评论 -
leetcode Pascal's Triangle II
https://oj.leetcode.com/problems/pascals-triangle-ii/ 有一点动态规划的意思。 可以设置两个list,一个pre,一个current,pre计算得到current,再让pre=current,直到n 但是根据本题目的数据来看可以在一个list里完成。 如下是一个具有上述trick 的程序。 public class Soluti原创 2015-03-04 15:07:01 · 265 阅读 · 0 评论 -
leetcode Factorial Trailing Zeroes
https://oj.leetcode.com/problems/factorial-trailing-zeroes/ 求n的阶乘后边有几个0 能产生10的2*5,那就是数数n!里一共有多少个2,多少个5,又因为2的个数一定大于5的个数,所以数数5的个数就行了。 1-10一共有2个5 1-15一共有3个5, 1-20一共有4个5 1-25一共有5个5吗不对,是6个,25=5*5 。。原创 2015-03-04 17:02:54 · 300 阅读 · 0 评论 -
leetcode Merge Sorted Array
https://oj.leetcode.com/problems/merge-sorted-array/ 将两个有序数组合并 数组合并从前向后,还是从后向前,这是个问题。 public class Solution { public void merge(int A[], int m, int B[], int n) { int a=m-1; in原创 2015-03-05 11:25:35 · 268 阅读 · 0 评论 -
leetcode Implement strStr()
https://oj.leetcode.com/problems/implement-strstr/ 字符串匹配在java中inexof()能解决这个问题。 public class Solution { public int strStr(String haystack, String needle) { return haystack.indexOf(needle)原创 2015-03-05 11:54:49 · 319 阅读 · 0 评论 -
leetcode Valid Sudoku
https://oj.leetcode.com/problems/valid-sudoku/ 判断是不是一个有效的九宫格。 行检验,列检验,子九宫格检验。 这是一个类似于操作矩阵的算法题。比如让你给一个矩阵旋转90,180度等等。 题目简单,写起来跟简单就不搭边。。。 public class Solution { public static boolean isValid原创 2015-03-05 16:00:28 · 292 阅读 · 0 评论 -
leetcode Length of Last Word
https://oj.leetcode.com/problems/length-of-last-word/ 求字符串最后一个单词的长度。单词只用空格分开。 public class Solution { public int lengthOfLastWord(String s) { if(s==null)return 0; int last=s.lastI原创 2015-03-05 17:04:00 · 291 阅读 · 0 评论 -
leetcode Balanced Binary Tree
https://oj.leetcode.com/problems/balanced-binary-tree/ 判断一棵二叉树是不是平衡二叉树 方法比较笨拙。。。。 用到求深度的函数。 /** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left;原创 2015-03-04 22:07:00 · 373 阅读 · 0 评论 -
leetcode Remove Nth Node From End of List
双指针大法又显神通。 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * }原创 2015-03-04 14:54:43 · 257 阅读 · 0 评论 -
leetcode Valid Palindrome
题目:https://oj.leetcode.com/problems/valid-palindrome/ 字符是字母和数字构成回文的就是回文字符串 那把不是字母和数字的字符剔除。 在用最笨的方法判断是不是回文。 public class Solution { public boolean isPalindrome(String s) { if(s==null||原创 2015-03-04 14:45:00 · 250 阅读 · 0 评论 -
leetcode Pascal's Triangle
https://oj.leetcode.com/problems/pascals-triangle/ 在Pascal's Triangle II没有用到双变量轮换大法,这次用一下 import java.util.*; public class Solution { public List> generate(int numRows) { Listlist=ne原创 2015-03-04 16:39:51 · 259 阅读 · 0 评论 -
leetcode Minimum Depth of Binary Tree
https://oj.leetcode.com/problems/minimum-depth-of-binary-tree/ 求二叉树的最小深度。 先看看如何求二叉树的深度: int GetDepth(BinaryTreeNode * pRoot) { if(pRoot == NULL) // 递归出口 return 0; int depthLeft = GetDepth(pRoot原创 2015-03-04 21:48:35 · 428 阅读 · 0 评论 -
leetcode Remove Element
https://oj.leetcode.com/problems/remove-element/ 移除数组中等于element的元素,不开辟新空间,O(n). 这个跟有序数组删除重复元素的思路是一样的。 public class Solution { public int removeElement(int[] A, int elem) { if(A==null||原创 2015-03-05 10:47:38 · 266 阅读 · 0 评论 -
leetcode Climbing Stairs
https://oj.leetcode.com/problems/climbing-stairs/ 这是一个动态规划问题。 思路是这样的。登上最后一阶有两种方法:走两步,或者走一步。 那么stairs[n]=stairs[n-1]+stairs[n-2]。 程序一如既往的笨拙。。。 public class Solution { public int climbStairs(in原创 2015-03-05 15:55:35 · 299 阅读 · 0 评论 -
leetcode Path Sum
https://oj.leetcode.com/problems/path-sum/ 实际上可看做二叉树的遍历。 只不过要比二叉树的遍历多存储一个变量,就是根节点到当前节点的和。 可以深度遍历也可广度遍历 深度遍历(前序遍历) /** * Definition for binary tree * public class TreeNode { * int val; *原创 2015-03-04 21:32:03 · 373 阅读 · 0 评论 -
leetcode Binary Tree Level Order Traversal II
https://oj.leetcode.com/problems/binary-tree-level-order-traversal-ii/ 这是一个二叉树的层次遍历问题 public class Solution { public List> levelOrderBottom(TreeNode root) { List>list_list=new ArrayList>();原创 2015-03-04 22:56:21 · 336 阅读 · 0 评论 -
leetcode Remove DUplicates from Sorted List
题目 https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/ 这是一个典型的题目 public class Solution { public int removeDuplicates(int[] A) { if(A==null)return 0; if(A.length原创 2015-03-05 10:36:33 · 298 阅读 · 0 评论 -
leetcode Single Number II
https://leetcode.com/problems/single-number-ii/ 排序可以做: public class Solution { public int singleNumber(int[] A) { Arrays.sort(A); int i; for(i=0;i<A.length-1;i++){ if(原创 2015-04-03 15:44:37 · 300 阅读 · 0 评论