Contents
내가 작성한 코드

주어진 head는 단일 링크 목록의 참조 노드입니다.
링크된 목록의 각 노드 값은 0 또는 1입니다. 링크된 목록에는 숫자의 이진 표현이 포함되어 있습니다.
연결된 목록에 있는 숫자의 소수점 값을 반환합니다.
가장 중요한 부분은 링크된 목록의 맨 앞에 있습니다.
제약 조건:
* 연결된 목록이 비어 있지 않습니다.
* 노드의 수는 30개를 초과하지 않습니다.
* 각 노드의 값은 0 또는 1입니다.
내가 작성한 코드
// 문제에서 제공하는 클래스
class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
class Solution {
public int getDecimalValue(ListNode head) {
StringBuilder sb = new StringBuilder(); // head의 val을 저장할 StringBuilder
ListNode current = head; // 현재 노드를 가리키는 변수
while (current != null) {
sb.append(current.val); // 현재 노드의 val을 StringBuilder에 추가
current = current.next; // 다음 노드로 이동
}
// StringBuilder에 저장된 이진수 문자열을 10진수로 변환
int decimal = Integer.parseInt(sb.toString(), 2);
return decimal;
}
}
Share article