Es scheint, dass Codierungstests in Ingenieurinterviews im Ausland durchgeführt werden, und in vielen Fällen besteht die Hauptsache darin, bestimmte Funktionen und Klassen entsprechend dem Thema zu implementieren.
Als Gegenmaßnahme scheint eine Website namens Let Code Maßnahmen zu ergreifen.
Eine Site, die algorithmische Leistung trainiert, die Codierungstests standhält, über die früh gesprochen wird.
Ich denke, es ist besser, die Algorithmuskraft eines Menschen zu haben, also werde ich das Problem unregelmäßig lösen und die Methode, die ich damals dachte, als Memo aufschreiben.
Letztes Mal Leet Code Tag 26 "94. Binärbaum-Inorder-Traversal" ab Null
Grundsätzlich möchte ich die einfache Akzeptanz in absteigender Reihenfolge lösen.
Twitter Ich mache es.
101. Symmetric Tree Der Schwierigkeitsgrad ist einfach. Auszug aus den 100 beliebtesten Fragen.
Das Problem ist, dass eine Dichotomie gegeben ist, stellen Sie also sicher, dass sie symmetrisch ist.
For example, this binary tree [1,2,2,3,4,4,3] is symmetric:
1
/ \
2 2
/ \ / \
3 4 4 3
But the following [1,2,2,null,3,null,3] is not:
1
/ \
2 2
\ \
3 3
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def isSymmetric(self, root: TreeNode) -> bool:
if not root:
return True
return self.dfs(root,root)
def dfs(self,left,right):
if left and right:
return left.val == right.val and self.dfs(left.left,right.right) and self.dfs(left.right,right.left)
else:
return left == right
# Runtime: 32 ms, faster than 71.25% of Python3 online submissions for Symmetric Tree.
# Memory Usage: 13.9 MB, less than 5.17% of Python3 online submissions for Symmetric Tree.
Gelöst durch Tiefenprioritätssuche.
Denken Sie daran, dass Sie feststellen müssen, ob die Symmetrie rechts und links ist. Ich schreibe nicht viel ...
Wenn es eine gute Antwort gibt, werde ich sie hinzufügen.
Recommended Posts