关于链表数据结构的一点小疑点

关于链表数据结构的一点小问题
在做链表任意位置插入节点的时候,判断插入位置的合法性时应该先将所有节点都遍历一遍吗(判断插入位置是否在已知链表长度范围内)?如果先遍历整个链表后再插入节点时需要再遍历一遍(找到插入节点位置)这样代码有重复性,如果不需整个遍历那位置的合法性该怎么确定?
------解决思路----------------------
不管单向还是双向链表
都不需要遍历来判断其位置合法性
你不是有一个记录元素个数的值么
直接比较插入的位置与元素个数的关系就可以知道其合法性了
你遍历一遍怎么去确定其合法性,思路是什么?