zoukankan      html  css  js  c++  java
  • LeetCode: Rotate List

    两个边界条件没考虑到,少数次过

     1 /**
     2  * Definition for singly-linked list.
     3  * struct ListNode {
     4  *     int val;
     5  *     ListNode *next;
     6  *     ListNode(int x) : val(x), next(NULL) {}
     7  * };
     8  */
     9 class Solution {
    10 public:
    11     ListNode *rotateRight(ListNode *head, int k) {
    12         // Start typing your C/C++ solution below
    13         // DO NOT write int main() function
    14         ListNode *tmp = head;
    15         if (!head) return NULL;
    16         int n = 0;
    17         while (tmp) {
    18             n++;
    19             tmp = tmp->next;
    20         }
    21         k %= n;
    22         ListNode *p = head;
    23         tmp = head;
    24         for (int i = 0; i < n-k-1; i++) tmp = tmp->next;
    25         ListNode *q = tmp->next;
    26         if (!q) return head;
    27         head = q;
    28         tmp->next = NULL;
    29         while (q->next) q = q->next;
    30         q->next = p;
    31         return head;
    32     }
    33 };

     C#

     1 /**
     2  * Definition for singly-linked list.
     3  * public class ListNode {
     4  *     public int val;
     5  *     public ListNode next;
     6  *     public ListNode(int x) { val = x; }
     7  * }
     8  */
     9 public class Solution {
    10     public ListNode RotateRight(ListNode head, int k) {
    11         ListNode tmp = head;
    12         if (head == null) return null;
    13         int n = 0;
    14         while (tmp != null) {
    15             n++;
    16             tmp = tmp.next;
    17         }
    18         k %= n;
    19         ListNode p = head;
    20         tmp = head;
    21         for (int i = 0; i < n-k-1; i++) tmp = tmp.next;
    22         ListNode q = tmp.next;
    23         if (q == null) return head;
    24         head = q;
    25         tmp.next = null;
    26         while (q.next != null) q = q.next;
    27         q.next = p;
    28         return head;
    29     }
    30 }
    View Code
  • 相关阅读:
    Matlab 实现神经网络实例
    python 神经网络实例
    TensorFlow基础笔记(2) minist分类学习
    贝叶斯深度学习
    python:一行代码实现局域网共享文件
    maven:手动上传jar私服
    maven:清除lastUpdated文件
    python:序列化与反序列化(json、pickle、shelve)
    jenkins变量的传递
    python:解析requests返回的response(json格式)
  • 原文地址:https://www.cnblogs.com/yingzhongwen/p/3032639.html
Copyright © 2011-2022 走看看