旅游电子商务网站策划书,软件开发模型主要有哪些,深圳网站建设外包,做设计必须知道的几个网站1、题目属于对基础的数据结构的操作#xff0c;出现频次较高
2、解题思路如下#xff1a;
双指针法#xff1a;
解这道题#xff0c;首先明白#xff1a;
1、操作步骤 2、迭代
3、循环边界条件#xff0c;确定初始值和循环终止条件
4、最后返回值方法是什么呢#x…1、题目属于对基础的数据结构的操作出现频次较高
2、解题思路如下
双指针法
解这道题首先明白
1、操作步骤 2、迭代
3、循环边界条件确定初始值和循环终止条件
4、最后返回值方法是什么呢举例子
循环终止条件cur走到末尾等于null值了我希望他不执行循环结构中的语句了直接返回了
初始值开始的时候走一遍循环cur从头结点开始pre等于null才能满足条件
最终返回值cur走到末尾等于null才结束最后一次循环pre最后一个节点所以返回pre
public class Solution206 {public ListNode reverseList(ListNode head) {
// 解这道题首先明白
// 1、操作步骤 2、迭代
// 3、循环边界条件确定初始值和循环终止条件
// 4、最后返回值// 方法是什么呢举例子
// 循环终止条件cur走到末尾等于null值了我希望他不执行循环结构中的语句了直接返回了
// 初始值开始的时候走一遍循环cur从头结点开始pre等于null才能满足条件
// 最终返回值cur走到末尾等于null才结束最后一次循环pre最后一个节点所以返回preListNode cur head;ListNode pre null;while(cur!null){ListNode temp cur.next;cur.next pre;// 迭代pre cur;cur temp;}return pre;}public static class ListNode {int val;ListNode next;ListNode() {}ListNode(int val) { this.val val; }ListNode(int val, ListNode next) { this.val val; this.next next; }}
}递归法
基本严格按照双指针法改编一一对应
public class Solution206_2 {public ListNode reverseList(ListNode head){ListNode pre null;ListNode cur head;return reverse(pre,cur);}public ListNode reverse(ListNode pre, ListNode cur) {if(curnull) return pre;ListNode temp cur.next;cur.next pre;return reverse(cur, temp);}public static class ListNode {int val;ListNode next;ListNode() {}ListNode(int val) { this.val val; }ListNode(int val, ListNode next) { this.val val; this.next next; }}
}