题解 | #牛的品种排序IV#
牛的品种排序IV
https://www.nowcoder.com/practice/bd828af269cd493c86cc915389b02b9f
题目考察的知识点是:
本题主要考察的知识点是链表、遍历。
题目解答方法的文字分析:
这道题常规操作就是定义两个头结点,一个头插0结点,另一个头插1节点,然后将两个链表连接起来;也可以定义一个头结点,记录第一个0结点插入的位置,在头结点后面插0结点,在第一个0结点后插1结点,两种思路大致一样。
本题解析所用的编程语言:
java语言。
完整且正确的编程代码:
import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * public ListNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @return ListNode类 */ public ListNode sortCowsIV (ListNode head) { // write code here if (head == null || head.next == null) { return head; } int n = 0; ListNode temp = head; while (temp != null) { if (temp.val == 0) n++; temp = temp.next; } temp = head; while (temp != null) { if (n > 0) { n --; temp.val = 0; } else { temp.val = 1; } temp = temp.next; } return head; } }#题解#