zoukankan      html  css  js  c++  java
  • lintcode:交换链表当中两个节点

    题目

    给你一个链表以及两个权值v1v2,交换链表中权值为v1v2的这两个节点。保证链表中节点权值各不相同,如果没有找到对应节点,那么什么也不用做。

     注意事项

    你需要交换两个节点而不是改变节点的权值

    样例

    给出链表 1->2->3->4->null ,以及 v1 = 2 , v2 = 4
    返回结果 1->4->3->2->null

    解题

    交换值的方式

    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) { val = x; }
     * }
     */
    public class Solution {
        /**
         * @param head a ListNode
         * @oaram v1 an integer
         * @param v2 an integer
         * @return a new head of singly-linked list
         */
        public ListNode swapNodes(ListNode head, int v1, int v2) {
            // Write your code here
            ListNode p1 = head;
            while(p1!=null){
                if(p1.val==v1){
                     p1.val = v2;
                }
                
                else if(p1.val==v2){
                     p1.val = v1;
                }
                p1 = p1.next;
            }
            
            return head;
            
        }
    }

    提交错误

  • 相关阅读:
    走进Android系统
    最后的一像素。
    rem介绍
    软件安装相关问题。
    iscroll
    程序员常用词语发音
    一个程序员眼中的好UI
    myeclipse性能优化
    注入配置数据
    java IO
  • 原文地址:https://www.cnblogs.com/bbbblog/p/5650624.html
Copyright © 2011-2022 走看看