摘要: 用栈实现队列的功能。MyQueue queue = new MyQueue(); queue.push(1);queue.push(2); queue.peek(); // returns 1queue.pop(); // returns 1queue.empty(); // returns fal 阅读全文
posted @ 2020-05-12 15:34 星海寻梦233 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 判断一个数是否是2为底的幂次函数。Input: 16Output: trueExplanation: 24 = 16 思路:除余法。难点:0和负数别忘了。 bool isPowerOfTwo(int n) { if (n <= 0)return false; while (n > 1) { if ( 阅读全文
posted @ 2020-05-11 23:45 星海寻梦233 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,将其左右翻转。Input: 4 / \ 2 7 / \ / \1 3 6 9 Output: 4 / \ 7 2 / \ / \9 6 3 1 思路:递归调用,写好出口就行了。如果是叶子节点,则直接将其返回,空节点也直接返回;对于非叶子节点的,将其 root->left = inve 阅读全文
posted @ 2020-05-11 23:32 星海寻梦233 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 用队列实现栈的功能。MyStack stack = new MyStack(); stack.push(1);stack.push(2); stack.top(); // returns 2stack.pop(); // returns 2stack.empty(); // returns fals 阅读全文
posted @ 2020-05-11 22:23 星海寻梦233 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组,以及一个整数k,判断数组中,是否存在相同的2个数,且这两个数的距离不超过k。Input: nums = [1,2,3,1], k = 3Output: true Input: nums = [1,2,3,1,2,3], k = 2Output: false 思路:一:暴力搜索,提交OJ 阅读全文
posted @ 2020-05-11 19:15 星海寻梦233 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组,求其中是否存在重复的元素,有重复,返回true;否则,返回fasle。Input: [1,2,3,1]Output: true 思路:一、用哈希字典存储元素,遍历数组中的元素若存在,则返回false;提交OJ,虽然AC了,但有点慢。 bool containDuplicate(vect 阅读全文
posted @ 2020-05-11 18:38 星海寻梦233 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 给定两个字符串,判断其是否是同构的。何为同构,即字符串中每个字符都是单一映射的。Input: s = "egg", t = "add"Output: true Input: s = "foo", t = "bar"Output: false 思路:设置两个哈希字典,一个保存s到t的映射,另一个保存t 阅读全文
posted @ 2020-05-11 17:50 星海寻梦233 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 给定一个正整数,求小于这个数的质数个数。Input: 10Output: 4Explanation: There are 4 prime numbers less than 10, they are 2, 3, 5, 7. 思路:一、暴力,利用for循环,对 2~n的数遍历,当遇到质数时,将其加入动 阅读全文
posted @ 2020-05-11 16:58 星海寻梦233 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 给定一个链表,要求将其反转:Input: 1->2->3->4->5->NULLOutput: 5->4->3->2->1->NULL 思路:运用2个临时指针,一个表示反转后的链表的头结点 p,一个表示给定链表的当前节点 tmp_p = head,使用 tmp_p -> next = p; p = 阅读全文
posted @ 2020-05-11 15:10 星海寻梦233 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 给定一个链表和一个整数,要求删除链表上值为给定整数的节点。Input: 1->2->6->3->4->5->6, val = 6Output: 1->2->3->4->5 思路:对给定链表循环,如果节点上的值等于给定的val,则跳过,否则将其加入到新链表上。难点:当最后一个节点要去除时,由于它值等于 阅读全文
posted @ 2020-05-11 14:51 星海寻梦233 阅读(78) 评论(0) 推荐(0) 编辑