题目描述: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)进...
https://leetcode.com/problems/maximum-depth-of-binary-tree/Maximum Depth of Binary TreeGiven a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node 1/** 2 * Definition for binary tree3 * public class TreeNode {4 * int val;5 * TreeNode left;6 * TreeNode right;7 * TreeNode(int x) { val...
Given two strings s and t, determine if they are isomorphic.Two strings are isomorphic if the characters in s can be replaced to get t.All occurrences of a character must be replaced with another character while preserving the order of characters. No two characters may map to the same character but a character may map to itself.For example, Given "egg", "add", return true.Given "foo", "bar", retur...
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.解题思路一:之前我们有mergeTwoLists(ListNode l1, ListNode l2)方法,直接调用的话,需要k-1次调用,每次调用都需要产生一个ListNode[],空间开销很大。如果采用分治的思想,对相邻的两个ListNode进行mergeTwoLists,每次将规模减少一半,直到规模变为2为止,空间开销就会小很多。JAVA实现如下: static public ListNode me...
Given a binary tree, find the maximum path sum.The path may start and end at any node in the tree.For example:Given the below binary tree, 1/ 2 3 Return 6. 对于树,我们可以找到其左右子树中终止于根节点的最大路径值,称为最大半路径值,如果都是正数,则可以把它们以及根节点值相加,如果其中有负数,则舍弃那一边的值(即置为零)。如此可以找到包含根节点的最大路径值。然后选择左右子树的最大半路径...