题目给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗?解法思路:使用栈来解决,优点是运行速度快,缺点是比较难记忆,我在纸上画图,才捋清楚逻辑。从根节点开始,一直遍历左子树,遍历过程中,将遍历到的节点入栈,直到左子树为空,这时候就可以将栈...
题目给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()" 输出: true示例 2:输入: "()[]{}" 输出: true示例 3:输入: "(]"...
题目使用队列实现栈的下列操作:push(x) -- 元素 x 入栈pop() -- 移除栈顶元素top() -- 获取栈顶元素empty() -- 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。你所使用的语言也许不支持队列。 你可以使用 list 或者 deq...
题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]解法easy难度的...
我们在使用Redis,Memcached等缓存系统时,当数据量增长到单机内存无法容纳时,我们需要搭建集群,将数据分布式存储到多台服务器。对于给定的Key,我们如何决定哪台服务器来存储呢?我们可以采用中心化的方法,使用一个中心节点来存储全局的信息。但如果我们不想维护一个中心节点,还有什么方法吗?一种简单的解决方法是取模哈希(mod-N hasing)取模哈希如上图,集群里有n台服务器,取模哈希...