一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 451|回复: 2
收起左侧

[Leetcode] 求助,leetcode总是要我在成员申明后面加分号。

[复制链接] |试试Instant~ |关注本帖
tobias0705 发表于 2014-7-29 04:07:18 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
本帖最后由 tobias0705 于 2014-7-29 04:09 编辑

不明白这样的运行结果:
leetcode的运行结果:Line 12: expected ';' at end of member declaration。

  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* findMid(LstNode *head);

  12.     ListNode* reverse(ListNode *head);

  13.         ListNode* merge(ListNode *head1, ListNode *head2);
  14.        
  15.     void reorderList(ListNode *head);
  16. };

  17. ListNode* Solution::findMid(ListNode *head){
  18.         ListNode *fast = head, ListNode *slow = head;

  19.         if (head == NULL || head->next == NULL) return head;

  20.         while (fast->next->next != NULL && fast != NULL)
  21.         {
  22.                 fast = fast->next->next;
  23.                 slow = slow->next;
  24.         }

  25.         return slow;
  26. }
  27.        
  28. ListNode* Solution::reverse(ListNode *head){
  29.         if (head == NULL || head->next == NULL) return head;
  30.                
  31.         ListNode *curNode = head, *nextNode;

  32.         while (curNode->next != NULL)
  33.         {
  34.                 nextNode = curNode->next;
  35.                 curNode->next = nextNode->next;
  36.                 nextNode->next = head;
  37.                 head = nextNode;
  38.         }

  39.         return head;
  40. }
  41.        
  42. ListNode* Solution::merge(ListNode *head1, ListNode *head2){
  43.         ListNode *tmp, *cur1 = head1, *cur2 = head2;
  44.                
  45.         while (cur2 != NULL)
  46.         {
  47.                 tmp = cur2;
  48.                 cur2 = cur2->next;
  49.                 tmp->next = cur1->next;
  50.                 cur1->next = tmp;
  51.                 cur1 = tmp->next;
  52.         }
  53. }
  54.        
  55. void Solution::reorderList(ListNode *head) {
  56.     ListNode *head2 = findMid(head), *head1 = head;
  57.         
  58.         head2 = reverse(head2);
  59.         head1 = merge(head1, head2);
  60.         head = head1;
  61. }
复制代码

yxyxyx 发表于 2014-7-29 04:50:55 | 显示全部楼层
先不说别的,LstNode是啥?
回复 支持 反对

使用道具 举报

Linzertorte 发表于 2014-7-29 07:50:41 | 显示全部楼层
函数声明与定义是两个不同的东西。你在类里声明成员函数。是一个有效的statement.是需要加分号的
void f(){} 是一个函数定义。此函数do nothing.
void f();是一个函数声明。这之后你必须提供它的定义。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-8 13:59

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表