美文网首页
2022-04-06 双指针

2022-04-06 双指针

作者: 16孙一凡通工 | 来源:发表于2022-04-06 10:07 被阅读0次

    剑指 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;
    
    }
        }
    

    相关文章

      网友评论

          本文标题:2022-04-06 双指针

          本文链接:https://www.haomeiwen.com/subject/gyrrsrtx.html