私は一般的なリンクリストを持っており、ノード値のそれぞれが同じで、順序が合っていれば、2つのリンクリストが等しいかどうかを調べることができます。 リンクされたリストを2つの部分に分割し、後で2つのリストがそのノードに同じ値を持っているかチェックしたいと思う機能があります。どのようにして迅速な2つの一般的なリンクリストを比較できますか?
func divideList(atIndex index:Int) -> (first: LLGeneric<T>?,second: LLGeneric<T>?)
私は分割した後、(1リストを逆にした後)を比較した後、リンクリストに回文を確認することができ、私のユースケースのためにそれを見ています。
注:私のリンクリストのノードを使用すると、T
がEquatable
であることを要求しなければならない値を比較するために
class LLGenericNode<T> {
var value: T
var next: LLGenericNode?
weak var previous: LLGenericNode?
init(_ value: T) {
self.value = value
}
}
リストが「パリンドローム」であるかどうかをチェックする機能が必要ですか? –
@LucaAngeletti、いいえ、混乱して申し訳ありません。私が目立つように探しているのは、これらの一般的なノードを比較する方法です。 – manismku