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