You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据整型变量x的值拼接对应数量next访问链表指定位置节点

实现方案

通用迭代实现(全语言兼容)

核心逻辑是从首节点开始循环x次,每次访问next属性即可,额外增加空值判断可以避免空指针报错。
以下为JavaScript示例代码,强类型语言(Java、C++等)只要替换对应节点类型即可复用逻辑:

function getTargetNode(x) {
  // 入参和首节点合法性校验
  if (x < 1 || !this.first) return null;
  let current = this.first;
  // 循环x次匹配x个.next后缀
  for (let i = 0; i < x; i++) {
    if (!current) return null;
    current = current.next;
  }
  return current;
}

调用getTargetNode(2)即可获得和this.first.next.next完全一致的访问结果。

动态属性访问方案(仅动态语言适用)

Python、JavaScript这类支持动态语法的语言可以直接生成属性链访问,可读性和稳定性不如迭代方案,不推荐生产环境使用:

// JavaScript示例
const target = new Function('return this.first' + '.next'.repeat(x)).call(this);
# Python示例
from functools import reduce
import operator
target = reduce(operator.attrgetter('next'), range(x), self.first)

注意事项

  • 务必增加空节点判断逻辑,避免链表实际长度小于x时抛出异常
  • 如果业务场景需要高频调用该能力,可以直接把该方法封装到链表的工具类中复用

内容的提问来源于stack exchange,提问作者TyroneJamesTheThird

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 15:18:07