博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]Partition List
阅读量:4149 次
发布时间:2019-05-25

本文共 1885 字,大约阅读时间需要 6 分钟。

struct ListNode {	int val;	ListNode *next;	ListNode(int x) : val(x), next(NULL) {}};class Solution {public:	ListNode *partition(ListNode *head, int x) {		// Start typing your C/C++ solution below		// DO NOT write int main() function		ListNode* p = head;		ListNode* smallerNow = NULL;		ListNode* smallerHead = NULL;		ListNode* greaterNow = NULL;		ListNode* greaterHead = NULL;		while (p)		{			if(p->val < x)			{				if(!smallerHead) smallerNow = smallerHead = p;				else smallerNow->next = p, smallerNow = p;			}			else			{				if(!greaterHead) greaterNow = greaterHead = p;				else  greaterNow->next = p, greaterNow = p;			}			p = p->next;		}		if(greaterHead) greaterNow->next = NULL;		if(smallerHead) smallerNow->next = NULL;		if(!smallerHead && !greaterHead) return NULL;		else if(!smallerHead) return greaterHead;		else		{			smallerNow->next = greaterHead;			return smallerHead;		}	}};

second time

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode *partition(ListNode *head, int x) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        ListNode dummy1(-1);        ListNode dummy2(-1);        ListNode* prev1 = &dummy1;        ListNode* prev2 = &dummy2;        ListNode* cur = head;        while(cur != NULL)        {            if(cur->val < x)            {                prev1->next = cur;                prev1 = prev1->next;            }            else            {                prev2->next = cur;                prev2 = prev2->next;            }            cur = cur->next;        }        prev1->next = NULL;        prev2->next = NULL;        if(dummy1.next == NULL) return dummy2.next;        else        {            prev1->next = dummy2.next;            return dummy1.next;        }    }};

转载地址:http://cmxti.baihongyu.com/

你可能感兴趣的文章
Xcode 11 报错,提示libstdc++.6 缺失,解决方案
查看>>
idea的安装以及简单使用
查看>>
Windows mysql 安装
查看>>
python循环语句与C语言的区别
查看>>
vue 项目中图片选择路径位置static 或 assets区别
查看>>
vue项目打包后无法运行报错空白页面
查看>>
Vue 解决部署到服务器后或者build之后Element UI图标不显示问题(404错误)
查看>>
element-ui全局自定义主题
查看>>
facebook库runtime.js
查看>>
vue2.* 中 使用socket.io
查看>>
openlayers安装引用
查看>>
js报错显示subString/subStr is not a function
查看>>
高德地图js API实现鼠标悬浮于点标记时弹出信息窗体显示详情,点击点标记放大地图操作
查看>>
初始化VUE项目报错
查看>>
vue项目使用安装sass
查看>>
在osg场景中使用GLSL语言——一个例子
查看>>
laravel 修改api返回默认的异常处理
查看>>
laravel事务
查看>>
【JavaScript 教程】浏览器—History 对象
查看>>
这才是学习Vite2的正确姿势!
查看>>