解説
量子ビットの状態をスワップする量子ゲートはスワップゲートと呼ばれます。
この問題では、ビットが変わるだけで複素振幅には変化がないため、 ゲートや ゲートを利用できないかと考えることができます。
実際、スワップゲートは次のように 3 つの制御 ゲートを用いて実装できることが知られています。

状態遷移は次のように表されます。
すなわち、 は と の複素振幅を、 は と の複素振幅を入れ替えることがわかります。
回路の深さは です。
解答例
解答例は以下の通りです。
from qiskit import QuantumCircuit
def solve() -> QuantumCircuit:
qc = QuantumCircuit(2)
qc.cx(0, 1)
qc.cx(1, 0)
qc.cx(0, 1)
return qc