2022-04-06 双指针

剑指 Offer 57. 和为s的两个数字

class Solution {
    public int[] twoSum(int[] nums, int target) {
        // 双指针
        // 先考虑数组内数字不相等的情况
        int n=nums.length;
        int left=0,right=n-1;
        int[] ans=new int[2];
        while(left<right){
            if(nums[left]+nums[right]>target){
                right--;
            }else if(nums[left]+nums[right]<target){
                left++;
            }else{
            ans[0]=nums[left];
            ans[1]=nums[right];
            break;
        }
      

        }
        return ans;

    }
}

剑指 Offer 25. 合并两个排序的链表

class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {


//  一种是都提取出来,按照数组排序
//  另一种按照正常思路,分别取出并比较
ListNode ans=new ListNode(0);
ListNode node=ans;

while(l1!=null && l2!=null){
      ListNode temp=new ListNode();
 
  if(l1.val<=l2.val){
     
      temp.val=l1.val;
      node.next=temp;
      l1=l1.next;
    //    System.out.println("l1:"+node.val);
  }else{
      temp.val=l2.val;
      node.next=temp;
      l2=l2.next;
    //   System.out.println("l2:"+node.val);
  }
    node=node.next;
}
node.next= l1==null ? l2 : l1;
return ans.next;

}
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 剑指Offer系列 [TOC] 数组和字符串 剑指offer 04.二维数组中的查找 从左下角开始查找,二分思想。...
    SwiftGo阅读 504评论 0 1
  • 剑指 Offer 03. 数组中重复的数字[https://leetcode-cn.com/problems/sh...
    君子何为阅读 709评论 0 0
  • 背包问题 描述在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i]动态规划...
    杰米阅读 513评论 0 0
  • (Since 2020.10.14-2021.3.10) LeetCode刷题笔记,共两百多题,记录整理如下: 动...
    周恩国的学习笔记阅读 905评论 0 1
  • 题目一:和为s的两个数字。输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对...
    孙强Jimmy阅读 764评论 0 0

友情链接更多精彩内容