Leetcode刷题记录_20181029

Posted autoyzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode刷题记录_20181029相关的知识,希望对你有一定的参考价值。

235. Lowest Common Ancestor of a Binary Search Tree

在一个二叉搜索树中找两个节点的最小公共父节点。

使用二叉搜索树的性质,设x是二叉搜索树中的一个结点。如果y是x左子树中的一个结点,那么会有y.key<=x.key;如果y是x右子树中的一个节点,那么有y.key>=x.key

https://blog.csdn.net/u013405574/article/details/51058133

技术分享图片
 1 class Solution(object):
 2     def lowestCommonAncestor(self, root, p, q):
 3         """
 4         :type root: TreeNode
 5         :type p: TreeNode
 6         :type q: TreeNode
 7         :rtype: TreeNode
 8         """
 9         if not root:
10             return None
11         if root.val>max(p.val,q.val):
12             return self.lowestCommonAncestor(root.left,p,q)
13         if root.val<min(p.val,q.val):
14             return self.lowestCommonAncestor(root.right,p,q)
15         if root.val >= min(p.val,q.val) and root.val<= max(p.val,q.val):
16             return root
View Code

237. Delete Node in a Linked List

删除链表中其中一个节点,不指定链表起始位置。

解法:用下一节点替换当前节点,删除下一节点。

技术分享图片
1 class Solution:
2     def deleteNode(self, node):
3         """
4         :type node: ListNode
5         :rtype: void Do not return anything, modify node in-place instead.
6         """
7         node.val = node.next.val
8         node.next = node.next.next
View Code

242.Valid Anagram

判断两个字符串是否互为互相排列。1:先列表后排序,然后对比;2:创建字典;3:使用count方法

技术分享图片
 1 class Solution(object):
 2     def isAnagram(self, s, t):
 3         """
 4         :type s: str
 5         :type t: str
 6         :rtype: bool
 7         """
 8         """list1 = list(s)
 9         list2 = list(t)
10         list1.sort()
11         list2.sort()
12         return list1 == list2"""
13         dict1 = {}
14         dict2 = {}
15         for i in s:
16             if i in dict1:
17                 dict1[i] +=1
18             else:
19                 dict1[i] = 1
20         for j in t:
21             if j in dict2:
22                 dict2[j] +=1
23             else:
24                 dict2[j] = 1
25         return dict1 == dict2
View Code

 

以上是关于Leetcode刷题记录_20181029的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode刷题记录_20181023

Leetcode刷题记录_20181026

Leetcode刷题记录_20181027

LeetCode刷题记录_38. 报数

LeetCode刷题记录_有效的括号

LeetCode刷题记录_反转整数