javascript - Leetcode javascript reverse-linked-list,一个关于javascipt中new的问题
问题描述
我在leetcode中学习javascript,在leetcode中做reverse-linked-list这个问题。 https://leetcode.com/problems/reverse-linked-list/。
我不知道我的答案有什么区别:
var h = new ListNode(head.val);
newReverseListTail.next = h;
和正确答案。
head.next = null;
newReverseListTail.next = head;
当我使用我的答案时,运行程序的结果将只显示列表的最后两个列表节点的保留,例如:
输入:[1,2,3,4,5,6]
我的输出:[6.5]
正确输出:[6,5,4,3,2,1]
这是有关该问题的所有代码。
var reverseList = function(head) {
if(head == null || head.next == null) return head;
let newReverseList = reverseList(head.next);
let newReverseListTail = head.next;
var h = new ListNode(head.val);
head.next = null
//newReverseListTail.next = h;
newReverseListTail.next = head;
head.next = null
return newReverseList;
};
解决方案
你可以试试这个解决方案。
function reverse(A){
let currentNode = A;
let next, prev = null;
while(currentNode){
next = currentNode.next;
currentNode.next = prev;
prev = currentNode;
currentNode = next;
}
console.log(prev);
return prev;
}
let data = {
'data':1,
'next':{
'data':2,
'next':{
'data':3,
'next':{
'data':4,
'next':null
}
}
}
};
reverse(data); // 4 -> 3 -> 2 -> 1
推荐阅读
- binding - Matblazor 组件属性:复杂的内容
- git - 如何使用 terraform 克隆 git repo、更新文件并将提交推送到它?
- powershell - 无法解析 Get-WinEvent 消息正文?
- react-native - 用 Axios 反应原生图片上传错误:网络错误
- python-3.x - 如何根据其他df中的条件和值为pandas df中的新列分配值?
- ios - 在 Xcode 12 中使用 SPM 时的 iOS 部署目标问题
- python - 根据其他字典的值对字典的值进行排序
- c - getline() 从文本文件读取时读取垃圾值
- python-3.x - 如何从 django 中可用的大量 csv 文件中选择一个 csv 文件
- c++ - C++ 更新 unordered_map 中的值,其中键值对的数据类型为 int-unordered_set