
leetcode刷题
Engineering Lion
这个作者很懒,什么都没留下…
展开
-
剑指offer08二叉树的下一个节点.
剑指offer08二叉树的下一个节点. /*方法:看当前节点是否有右孩子 * 有:下一个节点就是右孩子的最左节点 * 无:当前节点是否有父节点 * 是:是不是父节点的右孩子: * 是:指针变换,往上追溯 * 否:父节点就是下一个节点 * 否:回复NULL */ //代码进行了整合,但是思路就是这个 class Solution { public: TreeNode* inorderSuccessor(TreeNode*原创 2022-05-01 12:02:00 · 547 阅读 · 0 评论 -
leetcode---(1). 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> v; for(v原创 2021-04-05 21:24:58 · 81 阅读 · 0 评论 -
leetcode---(2). 两数相加
题目: 给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. /** * Definition for singly-linked list. * struct ListNode { * int原创 2021-04-06 21:58:26 · 85 阅读 · 0 评论 -
leetcode---(3). 无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例: 输入: s = "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3 class Solution { public: int lengthOfLongestSubstring(string s) { if(!s.size()) //判断是否是空的字符串 return 0; map<char,int原创 2021-04-09 22:45:45 · 78 阅读 · 0 评论 -
leetcode---(5).最长回文子串
给你一个字符串 s,找到 s 中最长的回文子串 示例: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案 输入:s = "cbbd" 输出:"bb" 看到题目的第一个想法就是用栈来实现。但是栈碰上奇数个的时候,怎么解决该不该弹出。还有栈什么时候弹出。比如abbabba。想了一阵没有解决的办法。 只好蛮力法,俩个指针输出所有的(比现在最长回文串还长的)串,再调用判断是不是回文。如果是回文,就记录下最大那个。时间复杂度太高了O(n3)。 (0).蛮力法 //蛮力法:输出原创 2021-04-10 11:33:38 · 84 阅读 · 0 评论 -
leetcode---(6).Z 字形变换
将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下: P A H N A P L S I I G Y I R 输入:s = "PAYPALISHIRING", numRows = 3 输出:"PAHNAPLSIIGYIR" class Solution { public: string convert(string s, int numRows) {原创 2021-04-11 19:55:33 · 121 阅读 · 0 评论 -
leetcode---(7).整数反转
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 示例 1: 输入:x = 123 输出:321 class Solution { public: int reverse(int x) { if (x > 2147483647 || x < -2147483647) { return 0; .原创 2021-04-11 22:30:01 · 96 阅读 · 0 评论 -
leetcode---(14). 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例: 输入:strs = ["flower","flow","flight"] 输出:"fl" class Solution { public: string longestCommonPrefix(vector<string>& strs) { if(strs.empty() ) return ""; vector<stri原创 2021-04-07 16:19:31 · 125 阅读 · 0 评论