反转嵌套数组列表Javascript
我希望它将列表从下到上颠倒过来。 我使用了I--的循环,但即使使用内置的Reverse()函数,也无法使其工作 规则是:反转嵌套数组列表Javascript,javascript,arrays,object,properties,reverse,Javascript,Arrays,Object,Properties,Reverse,我希望它将列表从下到上颠倒过来。 我使用了I--的循环,但即使使用内置的Reverse()函数,也无法使其工作 规则是: var list = { value: 1, next: { value: 2, next: { value: 3, next: null } } }; var list = { value: 3, next: {
var list = {
value: 1,
next: {
value: 2,
next: {
value: 3,
next: null
}
}
};
var list = {
value: 3,
next: {
value: 2,
next: {
value: 1,
next: null
}
}
};
function reverseList(list) {
// return reversedList;
}
Arguments: { value: 1, next: { value: 2, next: { value: 3, next: null } } };
Returns: { value: 3, next: { value: 2, next: { value: 1, next: null } } };
Arguments: { value: "a", next: { value: "b", next: { value: "c", next: null } } };
Returns: { value: "c", next: { value: "b", next: { value: "a", next: null } } };
var list = {
value: 1,
next: {
value: 2,
next: {
value: 3,
next: null
}
}
};
var list = {
value: 3,
next: {
value: 2,
next: {
value: 1,
next: null
}
}
};
function reverseList(list) {
// return reversedList;
}
Arguments: { value: 1, next: { value: 2, next: { value: 3, next: null } } };
Returns: { value: 3, next: { value: 2, next: { value: 1, next: null } } };
Arguments: { value: "a", next: { value: "b", next: { value: "c", next: null } } };
Returns: { value: "c", next: { value: "b", next: { value: "a", next: null } } };
将其反转为如下所示:
var list = {
value: 1,
next: {
value: 2,
next: {
value: 3,
next: null
}
}
};
var list = {
value: 3,
next: {
value: 2,
next: {
value: 1,
next: null
}
}
};
function reverseList(list) {
// return reversedList;
}
Arguments: { value: 1, next: { value: 2, next: { value: 3, next: null } } };
Returns: { value: 3, next: { value: 2, next: { value: 1, next: null } } };
Arguments: { value: "a", next: { value: "b", next: { value: "c", next: null } } };
Returns: { value: "c", next: { value: "b", next: { value: "a", next: null } } };
示例测试用例:
var list = {
value: 1,
next: {
value: 2,
next: {
value: 3,
next: null
}
}
};
var list = {
value: 3,
next: {
value: 2,
next: {
value: 1,
next: null
}
}
};
function reverseList(list) {
// return reversedList;
}
Arguments: { value: 1, next: { value: 2, next: { value: 3, next: null } } };
Returns: { value: 3, next: { value: 2, next: { value: 1, next: null } } };
Arguments: { value: "a", next: { value: "b", next: { value: "c", next: null } } };
Returns: { value: "c", next: { value: "b", next: { value: "a", next: null } } };
没有数组,因此无法内置
反向函数。还搜索了SO上的反向链表,我在代码段中引用了它
var reverseLinkedList=函数(linkedlist){
var节点=linkedlist;
var-previous=null;
while(节点){
//保存下一个,否则将丢失它!!!
var save=node.next;
//反向指针
node.next=previous;
//当前节点之前的增量
上一个=节点;
//将节点递增到下一个节点或在列表末尾为null
节点=保存;
}
返回上一个;//更改列表头!!!
}
变量列表={
价值:1,
下一步:{
价值:2,
下一步:{
价值:3,
下一个:空
}
}
};
var linkedlist=reverseLinkedList(列表);
log(JSON.stringify(linkedlist))代码>幸运的是,你不能使用反转
。。。由于该数据中绝对没有数组,因此称之为反向链接列表,这只是一个编码面试问题,不必在现实生活中使用。如果这在您编写的某些代码中是一个真正的问题,则说明您使用了错误的数据结构。如果你想在编码面试中获得帮助,在这里实现算法()谢谢@KyleDePace,是的,这是我要解决的问题。你认为这个问题容易解决吗?可能使用一个或两个函数?反转嵌套数组列表Javascript
,正如Jaromanda已经说过的,在该数据结构中没有任何数组。那是一个链表。您从哪里获得术语嵌套数组列表
<代码>4。您必须至少使用一个数组来解决此问题。
为什么?这是不必要的开销。“这是我要解决的问题。”-然后是面试问题或学校学习任务。不管怎样,这都是你要研究的任务。我建议你先读一下Object.keys()谢谢Sandeep!