leetcode
`
zlinzju
这个作者很懒,什么都没留下…
展开
-
[leetcode] 9. 回文数 + 7. 整数反转 + 8. 字符串转为整数
)lc 9特殊情况直接 return False:1.负数2.100 / 2000 / … 非0的整十百千数字整数转化为字符串整数必须转化为字符串才可以使用 len() 和指针class Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """ ## 整数转化为字符串才可以len()以及指针 ..原创 2020-08-22 13:27:11 · 265 阅读 · 0 评论 -
[leetcode] 328.奇偶链表 +86.分隔链表 + 143.重排链表
lc86.思路是:先拆分,再拼接具体操作:采用双指针p1,p2,不重新创建每个结点,而是改变结点的指向,归属于子链表1或者子链表2遍历链表,依次判断结点大小,然后操作p1.next 或者 p2.next因为可能需要操作头节点(头节点可能大于x),现有头结点具有不确定性,因此创建新的结点作头节点子链表1和子链表2都需要创建头节点 before_head, after_head,并分别初始化 p1 和 p2时间复杂度:O(n),遍历一次链表空间复杂度:O(1),我们没有使用任何额外的空间,只..原创 2020-08-07 10:42:00 · 308 阅读 · 1 评论 -
[leetcode] 24.两两交换链表中的结点
迭代法:3指针while cur and cur.next: 一定要检查是否可能出现 None.next 的情况考虑特殊测试用例,比如 链表为空 以及 链表只有一个结点,链表只有两个结点,class Solution(object): def swapPairs(self, head): """ :type head: ListNode :rtype: ListNode """ dummy = ListNode原创 2020-08-07 10:41:49 · 120 阅读 · 0 评论 -
[leetcode] 106. 从中序与后序遍历序列构造二叉树
题目根据一棵树的中序遍历与后序遍历构造二叉树。假设树中没有重复的元素。样例:输入中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]输出[3,9,20,null,null,15,7]递归,和 [leetcode]105 即 [剑指offer] 07 思路一模一样。构建二叉树的大问题,可以分解成构建左、右子树的两...原创 2020-08-07 10:43:06 · 143 阅读 · 0 评论 -
[leetcode] 92. 反转链表II
文章目录题目思路迭代代码1.0代码2.0题目反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入:1->2->3->4->5->NULL, m = 2, n = 4输出:1->4->3->2->5->NULL思路找到链表[m,n],将其反转,然后将m与n ...原创 2020-08-07 10:41:35 · 175 阅读 · 0 评论