给定一个只包括 ‘(‘,‘)‘,‘{‘,‘}‘,‘[‘,‘]‘ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。示例 1:输入: "()"
输出: true
示例 2:输入: "()[]{}"
输出: true
示例 3:输入: "(]"
输出: false
示例 4:输入: "([)]"
输出: false
示例 5:输入: "{[]}"
输出: true数据 结构选择:1)选择map保存括号之间的对应关...
Given n, how many structurally unique BST‘s (binary search trees) that store values 1...n?For example,Given n = 3, there are a total of 5 unique BST‘s. 1 3 3 2 1\ / / / \ 3 2 1 1 3 2/ / \ 2 1 2 3
给一个正整数n,然后将这n个数进行二叉排序树的排列,求有多少种组合。public...
Maximum SubarrayFind the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [?2,1,?3,4,?1,2,1,?5,4],the contiguous subarray [4,?1,2,1] has the largest sum = 6.https://leetcode.com/problems/maximum-subarray/ 找出和最大的子串。动态规划 ,维护一个变量previous,记录之前的最大值。当前的最大值就是Math.max(previous + nums[i], num...
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2, return 1->2.Given 1->1->2->3->3, return 1->2->3.思路非常easy。因为乖乖的sort好了,就是推断下一个是不是比它大就好了,假设大,那么跳过下一个直接link到下一个的下一个。可是此时注意。考虑假设是1->1->1这样的情况。当你把第二个1删掉之后。指针一定要保留在第一个的位置,这样才干够接着推断这个...
题目描述:Remove all elements from a linked list of integers that have value val.ExampleGiven: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6Return: 1 --> 2 --> 3 --> 4 --> 5解题思路:链表操作。代码如下:/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/
public class Solution {public ListNode removeElements(ListN...
1. 具体题目给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3 输出: [1,2,2,3,5,6]2. 思路分析本题应该从数组尾部开始插入值,因为若从头部开始插值,nums...
题目: Given n, how many structurally unique BST‘s (binary search trees) that store values 1...n? For example,Given n = 3, there are a total of 5 unique BST‘s. 1 3 3 2 1\ / / / \ 3 2 1 1 3 2/ / \ 2 1 2 3题意及分析:给出一个整数n,用1到n的数构成一棵二叉搜索树,问有几种方式...
题目描述题干:
在一个 平衡字符串 中,‘L‘ 和 ‘R‘ 字符的数量是相同的。
给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。
注意:分割得到的每个字符串都必须是平衡字符串。
返回可以通过分割得到的平衡字符串的 最大数量 。示例 1:
输入:s = "RLRRLLRLRL"
输出:4
解释:s 可以分割为 "RL"、"RRLL"、"RL"、"RL" ,每个子字符串中都包含相同数量的 ‘L‘ 和 ‘R‘ 。示例 2:
输入:s = "RLLLLRRRLR"
输出:3
解...
题目描述:Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.You may assume that the version strings are non-empty and contain only digits and the . character.The . character does not represent a decimal point and is used to separate number sequences.For instance, 2.5 is not "two and a half" or "half way to versio...
Write a function that takes an unsigned integer and returns the number of ’1‘ bits it has (also known as the Hamming weight).For example, the 32-bit integer ’11‘ has binary representation 00000000000000000000000000001011, so the function should return 3.解题思路:JAVA实现如下: public int hammingWeight(int n) {int res = 0;while(n!=0){res += n & 1;n >>>= 1;}return res;}
原文:http://www.cnb...
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree is symmetric: 1/ 2 2/ \ / 3 4 4 3But the following is not: 1/ 2 2\ 3 3
解题思路:重载一个isSymmetric判断两棵树是否对称即可,JAVA实现如下: public boolean isSymmetric(TreeNode root) {if(root==null)return true; return isSymmetric(root.left,root.right)...
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组 nu...
题目:Given a set of distinct integers, nums, return all possible subsets.Note:Elements in a subset must be in non-descending order.The solution set must not contain duplicate subsets.For example,
If nums = [1,2,3], a solution is:[[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]
]题意:给定一个由不同数字组成的数组nums,返回这个数组中的所有的子集。注意:
1.子集中的元素必须是升序排列 2.最终的结...
Note: This is an extension of House Robber.After robbing those houses on that street, the thief has found himself a new place for his thievery so that he will not get too much attention. This time, all houses at this place are arranged in a circle. That means the first house is the neighbor of the last one. Meanwhile, the security system for these houses remain the same as for those in the previou...
题目:
Given a binary tree, return the preorder traversal of its nodes’ values.For example:
Given binary tree {1,#,2,3}, 1 2/3return [1,2,3].Note: Recursive solution is trivial, could you do it iteratively?分析:
先根遍历二叉树,就是说,对二叉树中的每一个节点,先访问该节点,再访问其左子树,最后访问其右子树。用迭代的方式先根遍历二叉树,需要借助栈。具体步骤如下:
(1)将根结点入栈
(2)进...