当前位置: 首页 > news >正文

网站上传照片的功能怎么用JSP做杭州企业seo

网站上传照片的功能怎么用JSP做,杭州企业seo,安全教育平台学生登录入口,建手机网站的平台【题目描述】 给你两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个。请你将 list1 中下标从 a 到 b 的全部节点都删除,并将list2 接在被删除节点的位置。下图中蓝色边和节点展示了操作后的结果: 请你返回结果链表的头指针。 【…

【题目描述】

        给你两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个。请你将 list1 中下标从 a 到 b 的全部节点都删除,并将list2 接在被删除节点的位置。下图中蓝色边和节点展示了操作后的结果:

请你返回结果链表的头指针。

【提示】

1)3 <= list1.length <= 104
2)1 <= a <= b < list1.length - 1
3)1 <= list2.length <= 104

【题目链接】. - 力扣(LeetCode)

【解题代码】

package list;import list.base.ListNode;public class MergeInBetween {public static void main(String[] args) {int[] l1 = new int[]{0, 1, 2, 3, 4, 5, 6};int[] l2 = new int[]{1000000, 1000001, 1000002, 1000003, 1000004};ListNode list1 = ListNode.makeList(l1);ListNode list2 = ListNode.makeList(l2);ListNode list3 = new MergeInBetween().mergeInBetween(list1, 2, 5, list2);list3.printList();}private ListNode mergeInBetween(ListNode list1, int a, int b, ListNode list2) {// 先从list1的首节点走a-1步找到节点a前一节点ListNode preANode = followingNode(list1, a - 1);// 再从a节点走b-a+2步找到节点b+1ListNode nextBNode = followingNode(preANode, b - a + 2);// 找到list2的尾节点ListNode tailNode2 = getTailNode(list2);// 将节点a下一节点指向list2首节点preANode.next = list2;// 将list2的尾节点指向节点b下一个节点tailNode2.next = nextBNode;return list1;}private ListNode followingNode(ListNode node, int step) {int i = 0;ListNode node2 = node;while (i < step) {node2 = node2.next;i++;}return node2;}private ListNode getTailNode(ListNode node) {while (node.next != null) {node = node.next;}return node;}
}

【解题思路】

     根据题目描述,可以得出链表操作完之后:

  1. a节点的前一节点指向list2的首节点
  2. list2的尾节点指向b的下一节点 

根据上述思路,很快完成代码编写,并提交LeetCode成功

        

【解题步骤】

  1.  定义一个函数followingNode,从链表某一节点,向后走step步
    private ListNode followingNode(ListNode node, int step) {int i = 0;ListNode node2 = node;while (i < step) {node2 = node2.next;i++;}return node2;
    }
  2. 定义一个函数getTailNode,找到链表尾节点 
    private ListNode getTailNode(ListNode node) {while (node.next != null) {node = node.next;}return node;
    }
  3. 先从list1的首节点走a-1步找到节点a前一节点
     ListNode preANode = followingNode(list1, a - 1);
  4. 再从a节点走b-a+2步找到节点b+1
    ListNode nextBNode = followingNode(preANode, b - a + 2);
  5. 找到list2的尾节点
    ListNode tailNode2 = getTailNode(list2);
  6. 将节点a下一节点指向list2首节点
    preANode.next = list2
  7. 将list2的尾节点指向节点b下一个节点
    tailNode2.next = nextBNode
  8. 最后返回链表list1首节点即可
    return list1;

【思考总结】

  1. 链表操作要注意首节点保存和尾节点的获取与保存
  2. 所有链表操作基本上都是对三个变量的操作:当前节点curNode,上一节点preNode,下一节点nextNode;
  3. 链表遍历时对不停地更新上面三个变量
  4. LeetCode解题之前,一定不要看题解,看了就“破功”了! 
http://www.hrbkazy.com/news/37921.html

相关文章:

  • 全球速卖通是正规平台吗济南新站seo外包
  • wordpress页尾添加信息福州seo网址优化公司
  • 网站建设最重要的因素外贸网络推广经验
  • 武汉教育网站制作公司优化设计五年级上册语文答案
  • 做响应式网站价格杭州seo网站建设靠谱
  • 绍兴柯桥哪里有做网站的交换链接营销实现方式解读
  • 网站后台账户如何做会计分录东莞哪种网站推广好
  • 永安城乡建设局网站网站建设的流程是什么
  • 朝阳区互联网公司排名西安百度推广优化托管
  • 做招聘网站赚钱吗seo的理解
  • 网站旁边的小图标怎么做的网站百度
  • 厦门高端网站建设国通快速建站
  • 做的好的新闻网站万能的搜索引擎
  • 合肥网站制作哪家好品牌宣传方式
  • 专业建站公司电话咨询郑州网络营销公司
  • 做购物网站的业务什么是网络营销工具
  • 山西自助建站费用低软文价格
  • 网站整体设计长沙做网站推广公司咨询
  • 厦门哪里有做网站网站竞价推广怎么做
  • 郑州网站建设招聘seo优化设计
  • 日本网站开发工作谷歌广告
  • 深圳企业网站建设服务平台网站流量统计分析
  • 东莞高埗疫情最新动态关键词优化搜索排名
  • 网站建设的销售术语镇江百度公司
  • 华为公司网站建设方案模板营销推广策划
  • 深圳专业网站制作费用南宁seo营销推广
  • 攻击自己做的网站网络推广方法
  • 做淘宝导航网站淘宝搜索关键词查询工具
  • 做资料分享网站今日预测足球比分预测
  • 网站建设市场拓展岗位广告网络营销