この解答例はChatGPTによって生成されています,正しいかは自己判断で。

BFE.devでのAI解答例 - JavaScript コーディング問題
158.「左」のDOM要素を返す

以下はJavaScriptのコード例です。

function getLeftSibling(element) {
  const parent = element.parentNode;
  const children = parent.children;
  for (let i = 1; i < children.length; i++) {
    if (children[i] === element) {
      return children[i - 1];
    }
  }
  return null;
}

このコードは、与えられた要素の親要素から子要素を取得し、ループでその子要素の配列を調べ、与えられた要素の前にある兄弟要素があるかどうかを確認します。見つかった場合、その兄弟要素を返します。見つからなかった場合は、nullを返します。

このコードは、与えられた要素の兄弟要素を検索しているだけなので、時間複雑性はO(n)であり、与えられた要素の親要素から子要素を取得しているため、空間複雑性もO(n)です。ただし、nは同じ親要素を持つ要素の数です。