LeetCode
自我进阶2.0
学渣的自我修养
展开
-
LeetCode:两数相加 C++/Python
给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807/** * Definit...原创 2018-07-18 13:38:25 · 164 阅读 · 0 评论 -
二叉树遍历:深度遍历DFS、广度遍历BFS
深度遍历DFS递归/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {}...原创 2018-10-18 14:47:33 · 229 阅读 · 0 评论 -
LeetCode:最大子序和 (分治法+动态规划)
二分法将nums[0:n]分解为nums【left:center】,nums【center+1:right】 ,分三种情况求解 LEFT:nums【left:right】= nums【left:center】 RIGHT:nums【left:right】= nums【center:right】 MIDDLE:nums【left:right】=s1+s2对于3,nums【cente...原创 2018-09-26 14:51:53 · 465 阅读 · 0 评论 -
LeetCode:删除排序数组中的重复项
删除排序数组中的重复项一开始直接想用暴力覆盖,用后面数组直接覆盖前面数组,但是每个数都会遍历一遍后面的数组,时间复杂度为O(n²),效率不好class Solution {public: int removeDuplicates(vector<int>& nums) { int n = nums.size(); for(int...原创 2018-09-26 10:40:49 · 205 阅读 · 0 评论 -
LeetCode:两数之和、三数之和、最接近的三数之和
都用哈希表的方法两数之和vector<int> twoSum(vector<int>& nums, int target) { int s; unordered_map<int,int> map; for(int k = 0; k < nums.size();k++) { ...原创 2018-09-18 20:18:26 · 410 阅读 · 0 评论 -
LeetCode:回文数 Python
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一...原创 2018-08-05 17:50:36 · 350 阅读 · 0 评论 -
LeetCode:字符串转整数 (atoi)
实现 atoi,将字符串转为整数。在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中的第一个...原创 2018-07-22 21:54:23 · 274 阅读 · 0 评论 -
LeetCode:反转整数
给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。class Solutio...原创 2018-07-22 16:32:12 · 317 阅读 · 0 评论 -
LeetCode:Z字形变换
将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:P A H NA P L S I I GY I R之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR"实现一个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入: s = "PAYPALI...原创 2018-07-21 22:50:25 · 318 阅读 · 0 评论 -
LeetCode:最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"class Solution {public: string longestPalindrome(string s) { ...原创 2018-07-21 16:42:26 · 223 阅读 · 0 评论 -
LeetCode:两个排序数组的中位数 C++/Python
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。示例 1:nums1 = [1, 3]nums2 = [2]中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]中位数是 (2 + 3)/2 = 2.5C++有时间复...原创 2018-07-20 22:19:45 · 350 阅读 · 0 评论 -
LeetCode:无重复字符的最长子串 C++/Python
给定一个字符串,找出不含有重复字符的最长子串的长度。示例:给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。给定 "pwwkew" ,最长子串是 "wke" ,长度是3。请注意答案必须是一个子串,"pwke" 是 子序列 而不是子串。 先来一个错误示例原创 2018-07-18 22:20:51 · 485 阅读 · 0 评论 -
LeetCode: 对称二叉树(剑指offer)
把左子树和右子树视为分开的两颗树,值相同则继续比较比较左子树的左子树和右子树的右子树,左子树的右子树和右子树的左子树不同则返回false/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *righ...原创 2018-10-16 11:17:07 · 233 阅读 · 0 评论