"((()))", "(()())", "(())()", "()()()", "()(())"
给定两个升序排列的链表list1和list2,要求将它们合并为一个新的升序链表并返回。新链表应该通过拼接给定链表的节点来完成。
给定一个非空的单链表,返回链表的中间节点。如果有两个中间节点(链表长度为偶数时),则返回第二个中间节点。
定义一个指针prev遍历整个数组 如果他下一个节点的val值为val,就移除这个节点,让prev的next指针指向被删除的下一个节点,然后prev后移,直到pr...
腾讯 | 性能工程 (已认证)
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invi...
这个算法每个结点需要遍历2次,所以时间复杂度要比之前两种高一些,但是空间复杂度仅为
使用快慢指针法,慢指针一次走1个结点,快指针一次走2个结点,从头开始走会出现下面两种情况:
首先我们分析一下题意,一个数组中只有一个数出现了1次,其余的数都出现了3次。并且要求
例如:abaeaba是以e为中心的回文串,可以看到左边的b最长的回文串长度为3(aba),那么右边的长度也就至少为3(这一点要注意,是至少为3,但有可能更长,假...
N皇后的摆放问题可以通过回溯算法完成。具体操作为:在每一列尝试放置皇后(Q)。对于一列来说,具有n行的放置可能,首先判断安全性(任何两个皇后不同行,不同列也不在...
Given n non-negative integers a1, a2, ..., an, where each represents a point at ...
这段时间开始敲leetcode。我认为这并不仅仅只是为了应付笔试,面试。而是确实有着一定的意义。
官网给的一个暴力遍历的方式,技巧点在于,温度的最大值是 100, 因此里面的 for 循环可以通过控制最大是到 100 来降低时间复杂度。
在每个子树中查找 p 和 q。如果同一侧子树中同时找到 p 和 q ,那么往上走的过程中,遇到的就是 LCA。如果一侧有一个,那么root就是LCA。
一共三个指针,一个是记录最开始的节点,一个是当前反转节点,一个是下一个待反转的节点。