摘要: [TOC] 题目描述: 给定一个正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。 说明: 不要使用任何内置的库函数,如 。 示例 1: 示例 2: 解法: 阅读全文
posted @ 2019-03-21 22:58 zhanzq1 阅读(163) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 示例 2: 说明: + 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 + 我们可以不考虑输出结果的顺序。 进阶: + 如果给定的数组已经排好序呢?你将如何优化你的算法? + 如果 nums1 的大 阅读全文
posted @ 2019-03-21 22:27 zhanzq1 阅读(112) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 示例 2: 说明: + 输出结果中的每个元素一定是唯一的。 + 我们可以不考虑输出结果的顺序。 解法: 阅读全文
posted @ 2019-03-21 22:09 zhanzq1 阅读(117) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 示例 2: 说明: 元音字母不包含字母"y"。 解法: cpp class Solution { public: string reverseVowels(string s) { vector flag( 阅读全文
posted @ 2019-03-21 22:05 zhanzq1 阅读(116) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 的形式给出。 不要给另外的数组分配额外的空间,你必须 "原地" 修改输入数组 、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 "ASCII" 码表中的可打印字符。 示例 1: 示例 阅读全文
posted @ 2019-03-21 21:57 zhanzq1 阅读(232) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。 示例 1: 示例 2: 进阶: 你能不使用循环或者递归来完成本题吗? 解法: cpp class Solution { public: // method 1: bool isPowerOfF 阅读全文
posted @ 2019-03-21 21:49 zhanzq1 阅读(119) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定一个整数,写一个函数来判断它是否是 3 的幂次方。 示例 1: 示例 2: 示例 3: 示例 4: 进阶: 你能不使用循环或者递归来完成本题吗? 解法: cpp class Solution { public: // method 1: bool isPowerOfThr 阅读全文
posted @ 2019-03-21 21:34 zhanzq1 阅读(119) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定一个整数数组 nums ,求出数组从索引 i 到 j ( i ≤ j ) 范围内元素的总和,包含 i , j 两点。 示例: 说明: 1. 你可以假设数组不可变。 2. 会多次调用 sumRange 方法。 解法: 阅读全文
posted @ 2019-03-21 21:14 zhanzq1 阅读(126) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 你和你的朋友,两个人一起玩 "Nim游戏" :桌子上有一堆石头,每次你们轮流拿掉 1 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 示例: 解法: 阅读全文
posted @ 2019-03-21 16:26 zhanzq1 阅读(157) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定一种 和一个字符串 ,判断 是否遵循相同的模式。 这里的 遵循 指完全匹配,例如, 里的每个字母和字符串 中的每个非空单词之间存在着双向连接的对应模式。 示例1: 示例 2: 示例 3: 示例 4: 说明: 你可以假设 只包含小写字母, 包含了由单个空格分隔的小写字母。 阅读全文
posted @ 2019-03-21 16:20 zhanzq1 阅读(133) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定一个数组 ,编写一个函数将所有 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 说明: 1. 必须在原数组上操作,不能拷贝额外的数组。 2. 尽量减少操作次数。 算法: cpp class Solution { public: void moveZeroes(ve 阅读全文
posted @ 2019-03-21 15:51 zhanzq1 阅读(114) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 个版本 ,你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 接口来判断版本号 阅读全文
posted @ 2019-03-21 15:42 zhanzq1 阅读(98) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定一个包含 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。 示例 1: 示例 2: 说明: 你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现? 解法: 阅读全文
posted @ 2019-03-21 15:37 zhanzq1 阅读(134) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 编写一个程序判断给定的数是否为丑数。 丑数就是只包含质因数 的 正整数 。 示例 1: 示例 2: 示例 3: 说明: 1. 1 是丑数。 2. 输入不会超过 32 位有符号整数的范围: [−231, 231 − 1]。 解法: cpp class Solution { pu 阅读全文
posted @ 2019-03-21 15:13 zhanzq1 阅读(116) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定一个非负整数 ,反复将各个位上的数字相加,直到结果为一位数。 示例: 进阶: 你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗? 解法: cpp class Solution { public: // method 1: int addDigits1( 阅读全文
posted @ 2019-03-21 15:07 zhanzq1 阅读(115) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 解法: 阅读全文
posted @ 2019-03-21 14:56 zhanzq1 阅读(113) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 说明: 你可 阅读全文
posted @ 2019-03-21 14:36 zhanzq1 阅读(119) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 head = [4,5,1,9],它可以表示为: 示例 1: 示例 2: 说明: + 链表至少包含两个节点。 + 链表中所有节点的值都是唯一的。 + 给定的节点为非末尾节 阅读全文
posted @ 2019-03-21 14:10 zhanzq1 阅读(138) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 "百度百科" 中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大( 一个节点也可以是它自己的祖先 )。” 例如,给定如下 阅读全文
posted @ 2019-03-21 14:05 zhanzq1 阅读(87) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 请判断一个链表是否为回文链表。 示例 1: 示例 2: 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 解法: 阅读全文
posted @ 2019-03-21 13:54 zhanzq1 阅读(71) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 使用栈实现队列的下列操作: + push(x) 将一个元素放入队列的尾部。 + pop() 从队列首部移除元素。 + peek() 返回队列首部的元素。 + empty() 返回队列是否为空。 示例: 说明: + 你只能使用标准的栈操作 也就是只有 , , , 和 操作是合法 阅读全文
posted @ 2019-03-21 13:43 zhanzq1 阅读(75) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 示例 1: 输入: 1 输出: true 解释: 20 = 1 示例 2: 输入: 16 输出: true 解释: 24 = 16 示例 3: 解法: cpp class Solution { public: bool 阅读全文
posted @ 2019-03-21 11:19 zhanzq1 阅读(96) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 翻转一棵二叉树。 示例: 输入: 输出: 备注: 这个问题是受到 "Max Howell" 的 "原问题" 启发的 : 谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。 解法: 阅读全文
posted @ 2019-03-21 11:12 zhanzq1 阅读(80) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 使用队列实现栈的下列操作: + push(x) 元素 x 入栈 + pop() 移除栈顶元素 + top() 获取栈顶元素 + empty() 返回栈是否为空 注意: + 你只能使用队列的基本操作 也就是 , , , 和 这些操作是合法的。 + 你所使用的语言也许不支持队列。 阅读全文
posted @ 2019-03-21 11:07 zhanzq1 阅读(104) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定一个整数数组和一个整数 k ,判断数组中是否存在两个不同的索引 i 和 j ,使得 nums [i] = nums [j] ,并且 i 和 j 的差的绝对值最大为 k 。 示例 1: 示例 2: 示例 3: 算法: cpp class Solution { public: 阅读全文
posted @ 2019-03-21 10:31 zhanzq1 阅读(78) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例 1: 示例 2: 示例 3: 解法: 阅读全文
posted @ 2019-03-21 10:09 zhanzq1 阅读(90) 评论(0) 推荐(0)
摘要: [TOC] 题目描述: 反转一个单链表。 示例: 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 解法: cpp / Definition for singly linked list. struct ListNode { int val; ListNode next; ListN 阅读全文
posted @ 2019-03-21 09:59 zhanzq1 阅读(97) 评论(0) 推荐(0)