删除链表的节点
class Solution:
def deleteNode(self , head: ListNode, val: int) -> ListNode:
# write code here
# 最简单的解法,遍历链表,如果遇到要删除的值,就跳过要删除的值,并将它的前后节点相连
# 只需要排除链表为空和需要删除的在链表头节点两种情况
result = head
if not head:
return None
if result.val == val:
return result.next
while result:
if result.next.val == val:
result.next = result.next.next
break
result = result.next
return head
二叉树的深度
class Solution:
def TreeDepth(self , pRoot: TreeNode) -> int:
# write code here
# 使用递归的方法很简单,当前节点为空,肯定返回0,不为空的话,基础高度为1,加上左右子树最深的高度
if not pRoot:
return 0
return 1 + max(self.TreeDepth(pRoot.left),self.TreeDepth(pRoot.right))